Ubuntu18.04搭建深度强化学习环境(Mujoco200 , gym)

自己记录一下DRL的环境搭建, 花了一下午, 不过还是基本搭建完成了.

博主使用的是Ubuntu18.04 + Anaconda3 + cuda10.1 + python3.7 + tensorflow2.1

1. 配置Mujoco-py 环境和文件

mujoco200的安装需要去官网申请激活码
MuJoCo(Multi-Joint dynamics withContact)是一个模拟机器人,生物力学,图形和动画等领域的物理引擎。用于物理仿真分析,主要用于机器人领域的开发和研究。

安装Mujoco是因为gym环境中的许多仿真环境都用到这个物理引擎,比如Robotics,Mujoco最初是由华盛顿大学研发的,目前是收费使用的,作为学生党的我们可以有一年的免费使用,但是需要使用edu邮箱进行注册申请,同时也可以申请一个月的临时使用。Mujoco的网址为https://www.roboti.us/license.html

1)首先,我们需要注册获取License

在这里插入图片描述
我们选用的是linux安装,点击蓝色的linux ,会出现一个下载.
在这里插入图片描述

然后先将信息填好,fullname可以乱填, Email address可以填自己的邮箱用于接收license.有学生邮箱(即以.edu结尾的)可以有一年的试用期.如果是普通邮箱,就只有1个月的试用期.

2)在License下载getid_linux, 这个是用于获取自己电脑的id,下载之后,进入下载目录 , 分别运行如下命令获取自己的电脑id:

chmod +x getid_linux
./getid_linux

运行结果如下所示,把id拷贝并填入到前面的网页Computer id一栏中,
在这里插入图片描述

3)等你提交之后,会受到一封邮件,里面含有两个文件,一个是LICENSE.txt,一个是mjkey.txt

在这里插入图片描述

4)下载mujoco 150/200 linux

下载150的链接为mjpro150 linux,下载200的链接为mujoco200 linux,博主安装的mujoco200.

5)在你的home目录下,创建隐藏文件夹.mujoco,然后将你收到的邮件的内容拷贝到.mujoco文件夹中, 在将mjkey.txt再单独拷贝一份到 /home/(usrname)/.mujoco/mujoco200/bin 中。

在这里插入图片描述

由于以 ‘.’ 开头的文件夹是隐藏目录, 创建好隐藏目录后, 系统会自动隐藏, 因此需要在主目录下按 ctrl + H 来显示隐藏目录.

然后将下载好的压缩包mujoco200_linux.zip解压到当前的 .mujoco 中,

注意: 解压后的文件夹需要命名为mujoco200, 而不能使用mujoco200_linux. 因为后续安装的gym默认路径是/home/(usrname)/.mujoco200/… 因此需要保证自己的文件夹命名如下图所示, 不是这样命名的需要改成一样的.
在这里插入图片描述

或者也可以直接使用命令行操作:

mkdir ~/.mujoco
cp mujoco200_linux.zip ~/.mujoco
cd ~/.mujoco
unzip mujoco200_linux.zip
cp mjkey.txt ~/.mujoco
cp mjkey.txt ~/.mujoco/mujoco200/bin

6)添加环境变量

打开环境变量:

gedit ~/.bashrc

在文件末尾添加如下内容:

# MUJOCO200 START
# export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} #这种导入方式可能导致在终端mujoco运行正常,但是在编译器如vscode和pycharm中运行报错
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zeroonegame/.mujoco/mujoco200/bin
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
# MUJOCO200 END

7)测试如下

命令行输入

cd ~/.mujoco/mujoco200/bin
./simulate ../model/humanoid.xml

运行结果如下图所示:
在这里插入图片描述

至此我们的预先准备工作已完成

2.安装mujoco_py2

1)激活虚拟环境

# 这里博主安装深度强化学习的环境命名为drl , 大家可以根据自己的环境名称更改,下同
conda activate drl 

2)下载官方的源码

如果直接使用github太慢,可以使用国内的gitee将github的文件拷贝镜像,使用gitee加速.具体操作参考百度

git clone https://github.com/openai/mujoco-py.git

3) 安装mujoco_py

到这一步, 你会遇到大量的问题, 需要有耐心有毅力, 毕竟玩深度学习, 玩强化学习坑多的是, 得慢慢适应.

这里我们使用的是mujoco200,因此根据下述的命令执行,如果是安装mujoco150自行选择即可.

# mujoco150
# pip install -U 'mujoco-py<1.50.2,>=1.50.1'

# mujoco200
pip3 install -U 'mujoco-py<2.1,>=2.0'
安装到这里你会出现一些常见的错误,总结如下:
1.出现“Failed building whell for mujoco-py”,解决办法如下:
sudo apt-get install libglew-dev
2.出现“No module named numpy”,解决办法如下:
pip3 install numpy
# 使用国内源加速下载
# pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
3.出现gcc错误,解决办法如下:
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev
4.出现error: [Errno 2] No such file or directory: ‘patchelf’: ‘patchelf’ ,解决办法如下:
sudo apt-get install patchelf
5.出现提示重新安装ttf-mscorefonts-installer(这个错误我没遇到,是他人遇到的,也写在这里),解决办法:
wget http://httpredir.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb
# 再次运行
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev python3-pip python3-numpy python3-scipy
6.报错:Could not build wheels for mujoco-py which use PEP 517 and cannot be installed directly ,解决:
pip3 install --no-use-pep517 'mujoco-py<2.1,>=2.0'
如果还有其他问题可以留言, 博主会继续补充解决方法

4)测试mujoco-py

这里在import mujoco_py时可能会报一个关于cffi的错,版本冲突,或者找不到cffi module的问题,可以重装cffi 解决问题

# 若已经安装了,报版本冲突的错,先卸载
pip uninstall cffi
pip install cffi
# 下面这条是必要的,否则安装成功了还是会报找不到cffi 的错误
pip install pygit2

测试代码(先在终端下测试通过,先不要在vscode中测试):

import mujoco_py   
# 如果导入时显示没有该模块,就卸载后重装 ,在当前环境' sudo pip3 uninstall mujoco-py '
import os
mj_path, _ = mujoco_py.utils.discover_mujoco()
xml_path = os.path.join(mj_path, 'model', 'humanoid.xml')
model = mujoco_py.load_model_from_path(xml_path)
sim = mujoco_py.MjSim(model)
print(sim.data.qpos)
#输出 [0.  0.  1.4 1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
# 0.  0.  0.  0.  0.  0.  0.  0.  0.  0. ]
sim.step()
print(sim.data.qpos)
#输出:[-1.12164337e-05  7.29847036e-22  1.39975300e+00  9.99999999e-01
#  1.80085466e-21  4.45933954e-05 -2.70143345e-20  1.30126513e-19
# -4.63561234e-05 -1.88020744e-20 -2.24492958e-06  4.79357124e-05
# -6.38208396e-04 -1.61130312e-03 -1.37554006e-03  5.54173825e-05
# -2.24492958e-06  4.79357124e-05 -6.38208396e-04 -1.61130312e-03
# -1.37554006e-03 -5.54173825e-05 -5.73572648e-05  7.63833991e-05
# -2.12765194e-05  5.73572648e-05 -7.63833991e-05 -2.12765194e-05]

若出现报错

Exception:
Missing path to your environment variable.
Current values LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64/
Please add following line to .bashrc:
export D_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/(usrname)/.mujoco/mujoco200/bin

解决方案:

根据前面配置Mujoco-py 环境和文件的第6)步确认自己的环境变量.
如果是按照博主前面的流程来,是可以正常在vscode下运行上述测试代码的

3.安装gym

博主在安装gym时使用的是简化版的

pip3 install gym

安装全套版使用如下命令

 pip3 install gym[all]

但是博主在实际测试过程中发现自动安装的版本和前面的mujoco200不对应, 即gym会自动匹配到mujoco150而不是mujoco200,而我们前面安装的是mujoco200. 搜索了一圈没发现很好的解决办法.
因此暂时只能是用到哪个模块再单独安装了.如有大佬知晓解决方法, 望能指教一二.

gym安装完成后,使用如下测试代码:

gymtest1.py

import gym
env = gym.make('CartPole-v0')
for i_episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

在这里插入图片描述
输出信息如下:
在这里插入图片描述

gymtest2.py

import gym
env = gym.make('Hero-ram-v0')
for i_episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

这个例子有可能报错: gym.error.DependencyNotInstalled: No module named ‘atari_py’. (HINT: you can install Atari dependenc

解决方案:

pip3 install atari-py

测试结果如下,会出现一个小窗口:
在这里插入图片描述
输出结果如下:
在这里插入图片描述

至此, 深度强化学习的环境已经基本搭建完成, 如果还有问题可以留言, 互帮互助解决.

参考文献:

https://zhuanlan.zhihu.com/p/266029027
https://zhuanlan.zhihu.com/p/124001142
https://blog.csdn.net/weixin_44377470/article/details/104928067
https://blog.csdn.net/qs17809259715/article/details/103747724
https://blog.csdn.net/qq_43697649/article/details/105905403
https://blog.csdn.net/jianghao_ava/article/details/80874254
https://blog.csdn.net/chauncygu/article/details/108448173
https://blog.csdn.net/w5688414/article/details/85807467

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Ubuntu 18.04配置深度学习环境的步骤如下: 1. 安装CUDA和cuDNN 首先需要安装CUDA和cuDNN,这是深度学习框架的基础。可以从NVIDIA官网下载对应版本的CUDA和cuDNN,然后按照官方文档进行安装。 2. 安装Python和pip Ubuntu 18.04自带Python 3,但是需要安装pip,可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install python3-pip ``` 3. 安装深度学习框架 常用的深度学习框架有TensorFlow、PyTorch、Keras等,可以使用pip进行安装。例如安装TensorFlow: ``` pip3 install tensorflow-gpu ``` 4. 安装其他依赖库 深度学习还需要其他一些依赖库,例如numpy、scipy、matplotlib等,可以使用pip进行安装。 ``` pip3 install numpy scipy matplotlib ``` 5. 配置环境变量 需要将CUDA和cuDNN的路径添加到环境变量中,可以在.bashrc文件中添加以下内容: ``` export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/cuda/bin:$PATH ``` 6. 测试环境 可以使用以下命令测试环境是否配置成功: ``` python3 import tensorflow as tf tf.Session() ``` 如果没有报错,说明环境配置成功。 以上就是Ubuntu 18.04配置深度学习环境的步骤。 ### 回答2: Ubuntu 18.04是一款流行的操作系统,对于想要学习和开发深度学习等机器学习应用的人来说是一个很好的选择。在本文中,我们将介绍如何配置Ubuntu 18.04的深度学习环境。 首先,我们需要安装一些必要的工具和依赖项,包括python3、pip、numpy、matplotlib和jupyter等。我们可以使用以下命令进行安装: ```bash sudo apt update sudo apt install python3-pip python3-dev sudo pip3 install numpy matplotlib jupyter ``` 在安装了这些工具之后,就需要安装深度学习框架了。TensorFlow是一款非常流行的深度学习框架,可以使用以下命令安装: ```bash sudo pip3 install tensorflow ``` 如果你想使用Keras这个更高层次的深度学习框架,可以这样安装: ```bash sudo pip3 install keras ``` 除了TensorFlow和Keras之外,还有一些其他的深度学习框架可以被安装在Ubuntu 18.04上,比如PyTorch和Caffe等。 接着,我们还需要安装GPU驱动和CUDA等组件,以便在GPU上运行深度学习应用。首先我们需要检查系统中已经安装的显卡型号,可以使用以下命令: ```bash lspci | grep -i nvidia ``` 然后查找显卡型号对应的驱动版本号,可以到NVIDIA官网查找。例如,如果你的显卡是GTX 1080,那么就需要安装nvidia-430或更高版本的驱动。 ```bash sudo apt install nvidia-driver-430 ``` 接下来就需要安装CUDA。在安装CUDA之前,我们需要先安装其中的一个依赖项,nvidia-modprobe: ```bash sudo apt install nvidia-modprobe ``` 安装完成后,我们可以到NVIDIA官网下载CUDA安装包,根据操作系统和显卡类型选择相应的版本进行下载,然后执行以下命令进行安装: ```bash sudo dpkg -i cuda-repo-ubuntu1804-<version>.deb sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo apt-get update sudo apt-get install cuda ``` 安装完成后,还需要设置环境变量,将CUDA安装路径加入到系统环境变量中。可以编辑/etc/environment文件,在其中加入以下内容: ```bash export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 最后,我们需要安装cuDNN。cuDNN是一个针对GPU加速的深度学习库,可以在NVIDIA官网下载对应版本的cuDNN,然后执行以下命令: ```bash tar xvfz cudnn-<version>-linux-x64-v7.6.5.32.tgz sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* ``` 至此,我们已经成功地安装了Ubuntu 18.04的深度学习环境,可以开始进行深度学习学习和开发了。 ### 回答3: Ubuntu 18.04 是目前最常用的 Linux 操作系统之一,深度学习也越来越受到广泛关注。在此我们介绍如何在 Ubuntu 18.04 上配置深度学习环境,主要需要配置的有 Python 3,CUDA 及 CUDNN。 第一步:更新系统 首先,在执行任何操作之前,我们需要更新 Ubuntu 系统。在终端中,输入以下命令即可: sudo apt-get update sudo apt-get upgrade 第二步:安装 Python3 Ubuntu 18.04 默认已经安装了 Python 3,如果没有安装,可以在终端中输入以下命令: sudo apt-get install python3 以及 pip3: sudo apt-get install python3-pip 这样 Python3 就安装完成了。 第三步:安装 CUDA 由于深度学习的计算复杂度很高,因此我们需要使用 GPU 来加速运算。CUDA 是一种计算机图形学技术,可以利用 NVIDIA 的显卡进行并行计算。安装 CUDA 首先需要检查你的显卡是否支持 CUDA,以确保安装可行。如果你不确定你的显卡是否支持 CUDA,可以通过以下方式查询: nvidia-smi 如果显示信息中包含了 CUDA 字样,那么你的显卡支持 CUDA。整个 CUDA 安装过程比较繁琐,因此我们建议直接到 NVIDIA 官网下载安装包。在下载时,建议选择用 deb(local) 安装。 下载完毕后,直接在终端中执行以下命令安装即可: sudo dpkg -i cuda-repo-ubuntu1604-10-1-local-10.1.105-418.39_1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub sudo apt-get update sudo apt-get install cuda 安装完毕后,我们需要添加相关环境变量,以便电脑能够正常识别 CUDA。在终端中执行以下命令: nano .bashrc 在文件末尾添加以下代码,并保存退出: export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 第四步:安装 CUDNN CUDNN 是 NVIDIA 提供的深度学习库,用于加速深度学习的运算。我们需要先到 CUDNN 官网下载相应的安装包。在下载时,建议选择用 deb(local) 安装。 下载后,我们在终端中执行以下命令安装: sudo dpkg -i libcudnn7_7.x.x.x-1+cuda10.0_amd64.deb sudo dpkg -i libcudnn7-dev_7.x.x.x-1+cuda10.0_amd64.deb sudo dpkg -i libcudnn7-doc_7.x.x.x-1+cuda10.0_amd64.deb 最后,我们在终端中输入以下命令,检查 CUDNN 是否安装成功: nvcc -V 至此,Ubuntu 18.04 的深度学习环境配置已经完成。希望这篇指南能够帮助到需要配置深度学习环境的同学。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值