用Keras 和 DDPG play TORCS(环境配置篇)

原作者Using Keras and Deep Deterministic Policy Gradient to play TORCS

配置gym-torcs,参考

由于使用的环境是ubuntu 14.04 desktop版,故不需要安装opencv。

安装一些依赖包:

sudo apt-get install xautomation
sudo pip install numpy
sudo pip install gym

下载gym_torcs源码

  • 然后将

    gym_torcs/vtorcs-RL-color/src/modules/simu/simuv2/simu.cpp

    中第64行替换为

    if (isnan((float)(car->ctrl->gear)) || isinf(((float)(car->ctrl->gear)))) car->ctrl->gear = 0;

即添加两个(float),否则,下一步make的时候会出现error,安转失败

  • cd 到 gym_torcs/vtorcs-Rl-color目录,

执行以下命令:

sudo apt-get install libglib2.0-dev  libgl1-mesa-dev libglu1-mesa-dev  freeglut3-dev  libplib-dev  libopenal-dev libalut-dev libxi-dev libxmu-dev libxrender-dev  libxrandr-dev libpng12-dev 

./configure

make

sudo make install

sudo make datainstall

输入命令

torcs

即将打开,熟悉的TORCS 界面, 已打patch scr

DDPG源码

pip install keras
pip install tensorflow git clone https://github.com/yanpanlau/DDPG-Keras-Torcs.git
cd DDPG-Keras-Torcs
cp *.* ../gym_torcs
cd ../gym_torcs

下面运行ddpg.py

python ddpg.py

开始看到漂亮的训练过程啦

在笔记本上运行ddpg.py的时候会出现 keras.backecd中没有set_session模块,初步猜想应该是GPU的问题,在带GPU台式机的虚拟机ubuntu14.04上,即可以正常运行。

  • 注意到,笔记本中一个细节是:Using Theano backend

  • 而,虚拟机中显示的是:Using tensorflow backend

  • keras/backend主页找到问题所在,是keras的配置问题

  • 打开~/.keras/keras.json,把backend选项,修改Theano为tensorflow,然后wq,退出即可。

      {
    "image_dim_ordering": "tf",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "tensorflow"
    }

修改默认python

  • 删除系统自带的python软链接

      rm /user/bin/python
  • 建立新安装的python 的软链接

      ln -s ~/anaconda2/bin/python /user/bin/python

现在打开命令行python 即是安装在~/anaconda2/bin/python 的python程序

用Keras 和 DDPG play TORCS(1)的更多相关文章

  1. GPU 服务器环境安装中一些基础note

    GPU 服务器环境安装中一些基础note GPU 服务器: 添加组,用户,并为之新建主目录. c302@c302-dl:~$ sudo addgroup testgroup Adding group ...

  2. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) (转载)

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...

  3. Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    http://lib.csdn.net/article/aimachinelearning/68113 原文地址:http://blog.csdn.net/jinzhuojun/article/det ...

  4. 深度强化学习:Policy-Based methods、Actor-Critic以及DDPG

    Policy-Based methods 在上篇文章中介绍的Deep Q-Learning算法属于基于价值(Value-Based)的方法,即估计最优的action-value function $q ...

  5. [Keras] Develop Neural Network With Keras Step-By-Step

    简单地训练一个四层全连接网络. Ref: http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/ 1 ...

  6. keras 中如何自定义损失函数

    http://lazycoderx.com/2016/10/09/keras%E4%BF%9D%E5%AD%98%E6%A8%A1%E5%9E%8B%E6%97%B6%E4%BD%BF%E7%94%A ...

  7. keras安装

    找对工具真的很重要,周末和学霸折腾了一天才装了几个包,问了同事找了一个方便的包,装起来不要太快啊.二十分钟全部搞定. 一.Anaconda 真是大杀器,牛到飞起来,一键部署,所有常用的机器学习包全部包 ...

  8. ubuntu系统theano和keras的安装

    说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install ...

  9. neurosolutions 人工神经网络集成开发环境 keras

    人工神经网络集成开发环境 :  http://www.neurosolutions.com/ keras:   https://github.com/fchollet/keras 文档    http ...

随机推荐

  1. Java编程学习之JDBC连接MySQL

    JDBC连接MySQL 一.对JDBC连接数据库的步骤1.加载数据库驱动//加载驱动Class.forName(driverClass)-------------------------------- ...

  2. Gym 101334F Feel Good

    http://codeforces.com/gym/101334 题意:给定一串数,求一个区间,使得该区间的所有数之和乘以该区间内最小的数的乘积最大. 思路:先预处理一下,计算出前缀和. 我们可以把每 ...

  3. POJ 2112 Optimal Milking(二分+最大流)

    http://poj.org/problem?id=2112 题意: 现在有K台挤奶器和C头奶牛,奶牛和挤奶器之间有距离,每台挤奶器每天最多为M头奶挤奶,现在要安排路程,使得C头奶牛所走的路程中的最大 ...

  4. Java回顾之网络通信

    在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Soc ...

  5. Java实现GUI计算器【代码】

    这几天用java写了一个计算器程序,开始写的时候原本只是想实现一下GUI(这个是直接读三个字母还是什么“固椅”的发音)界面,熟悉一下Java GUI 编程,为Java期末大作业练练手,本以为代码不会很 ...

  6. angular 自定义指令参数详解

    restrict:指令在dom中的声明形式 E(元素)A(属性)C(类名)M(注释) priority优先级:一个元素上存在两个指令,来决定那个指令被优先执行 terminal:true或false, ...

  7. ThinkPHP 3.2 调用自定义函数库

    ThinkPHP3.2 和3.1 区别还是有点大的 引入了命名空间,强化了驱动化和行为,增强了模块化的概念和对云平台的支持,并改进了诸多的细节.主要改进包括:模块化架构的全新设计全新命名空间和自动导入 ...

  8. Android之扫描二维码和根据输入信息生成名片二维码

    开发中常常遇到二维码扫码操作,前段时间做项目要实现该功能,于是网上查找资料实现了,现在把他做出来给各位分享一下,主要包含了二维码扫描和生成二维码名片. 先来看看效果图:   生成的二维码,打开微信扫一 ...

  9. ZOJ-3962-数位dp

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5594             16进制下的数位dp,由于固定了位数,可以出现前 ...

  10. UVA-11183 Teen Girl Squad (最小树形图、朱刘算法模板)

    题目大意:给一张无向图,求出最小树形图. 题目分析:套朱-刘算法模板就行了... 代码如下: # include<iostream> # include<cstdio> # i ...