原作者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

用Keras 和 DDPG play TORCS(1)

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

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

用Keras 和 DDPG play TORCS(1)

在笔记本上运行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程序