搭建用于无人驾驶学习的TORCS环境
本文整理了在Ubuntu 16.04操作系统环境下,搭建适用于TORCS(The Open Racing Car Simulator)无人驾驶仿真平台的强化学习环境。包括Ubuntu 16.04更换NVIDIA显卡驱动、安装CUDA、cuDNN、TensorFlow GPU加速版本以及Gym-TORCS.
环境:Linux Ubuntu 16.04 LTS
安装NVIDIA驱动
下载驱动程序
在英伟达官网下载链接选择电脑显卡以及操作系统,下载合适的显卡驱动文件。
禁用nouveau第三方驱动
i. 打开编辑配置文件: sudo gedit /etc/modprobe.d/blacklist.conf
ii. 在最后一行添加:blacklist nouveau
iii. 改好后执行命令:sudo update-initramfs -u
iv. 重启使之生效:reboot
安装驱动
重启后按Ctrl+Alt+F1 进入命令行界面
执行命令:lsmod | grep nouveau
禁用X服务:sudo /etc/init.d/lightdm stop
(或者:sudo service lightdm stop
)
给驱动run文件赋予可执行权限:sudo chmod a+x NVIDIA-Linux-x86_64-440.64.run
(此处文件名称根据下载的驱动文件名填写)
安装:sudo ./NVIDIA-Linux-x86_64-440.64.run -no-opengl-files
–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
开启X服务:sudo /etc/init.d/lightdm start
(或者:sudo service lightdm start
)
重启,没有问题,输入命令:nvidia-smi
如果出现了驱动版本就表示安装成功了。
安装CUDAToolkit 9.0
打开终端 cd 进入存放CUDA安装包的文件夹中,依次输入下面的命令:
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt update
sudo apt install cuda
CUDA完成安装之后,还需要添加环境变量,打开终端,输入下面的命令:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
# 如果是64位系统,输入:
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 如果是32位系统,输入:
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
上述过程完成了整个的CUDA9.0的安装
安装cuDNN v7.0
勾选I Agree To the Terms of the cuDNN Software License Agreement,一定要选择上适用于CUDA 9.0的正确版本!!!!
打开终端 cd 进入存放cuDNN安装包的文件夹中,输入以下命令:
sudo dpkg -i libcudnn7_7.6.5.32-1+cuda9.0_amd64.deb
注意,上述命令中的可能会由于cudnn版本的细微差异而不同,请根据自己下载的cuDNN版本修改命令。之后等待完成cuDNN的安装。
安装Tensorflow-GPU版本
GPU相比于CPU,在运算速度上有很大的优势,这也是本文推荐安装GPU版本的原因。
Tensorflow总共有4中安装方式,在这里,我们使用Google官方推荐的安装方式:Virtualenv,创建一个虚拟Python开发环境。
安装pip和Virtualenv
由于Python 2.7版本已于2020年1月1日终止维护,这里推荐使用Python 3.x版本进行开发。
打开终端
如果使用Python 2.7的版本,输入sudo apt install python-pip python-dev python-virtualenv
如果使用Python 3.x的版本,输入sudo apt install python3-pip python3-dev python-virtualenv
创造一个虚拟的Python开发环境
第一步如果选择Python 2.7版本,终端输入:virtualenv --system-site-packages ~/tensorflow
第一步如果选择Python 3.x版本,终端输入:virtualenv --system-site-packages -p python3 ~/tensorflow
注意,~/tensorflow是自己选择的位置并创建的目录,可以自行选择其他的位置和命名。创建完成之后,会在用户文件夹目录下看到多出的tensorflow文件夹
激活虚拟环境
打开终端输入:source ~/tensorflow/bin/activate
命令执行之后会在命令前出现 (tensorflow) 字样,代表虚拟环境已激活,接下来便可以在虚拟环境中进行操作。
保证pip的版本不低于8.1,在虚拟环境中输入:easy_install -U pip
安装tersorflow-gpu版本
Python 2.7版本:pip install --upgrade tensorflow-gpu
Python 3.x版本:python -m pip install --upgrade tensorflow-gpu
经过这一步骤之后,tensorflow就安装完成了。
如果pip安装速度慢,可参考本博客之前的文章Ubuntu 16.04 更换安装源合集,更换pip源。
有些IDE 会自动检测tensorflow创建的虚拟环境,不必在终端中单独开启或者关闭,比如pycharm等。
安装Gym-TORCS
安装相关依赖包
打开终端,输入命令
pip install opencv-python
sudo apt install xautomation
pip install numpy
pip install gym
安装Gym-TORCS
下载Gym-TORCS源码.此处若git clone速度慢,可通过第三方下载软件下载源码zip包,或者参考本博客之前的文章打破Git 操作的速度限制,为git操作添加网络代理。
将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
至此完成无人驾驶强化学习环境的搭建!