欢迎光临散文网 会员登陆 & 注册

我只想做一件事:降低强化学习的门槛!强化学习实验环境搭建教程(收藏干货)

2021-06-05 11:27 作者:IT小叮当  | 我要投稿


强化学习实验环境搭建


“加油!向前冲!做了再说!”


“Go for it! Just do it! ”



一、安装Mujoco


(1)安装并解决依赖包问题


直接使用pip安装

pip install mujoco_py -i https://pypi.douban.com/simple/



出现“Building wheel for mujoco-py(PEP 517) ... error”,于是需要执行如下命令。

yum install mesa-libOSMesa



yum install mesa-libOSMesa-devel



wget -c http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/patchelf-0.9-10.el7.x86_64.rpm



(2)注册许可


首先进入github


找到安装位置


安装网址为

https://www.roboti.us/license.html



选中liunx


点击后会出现


在下载文件夹内找到下载好的getid_linux


根据官方建议,可先进行30天的免费试用


在文件处---右键---在终端打开


查看文件

ls



改变文件执行权限

chmod +x getid_linux



可以看到,文件此时已经变成绿色,表示可执行,执行文件,获得电脑id


将此电脑id复制下来新建文本,存好,在后面注册步骤中要用到


填写姓名,邮件地址后,将刚刚复制存好的电脑id粘贴进来,并勾选同意协议,最后点击submit选择提交


提交后,会出现以下界面


此时已经注册成功,并拿到了Mujoco的试用许可证,Mujoco官网已经将激活密钥发送到了我们注册时所填的邮箱。


进行查看,其中包含“LICENSE.txt”和“mjkey.txt”两个文件


我们将LICENSE.txt和mjkey.txt下载,保存到本地。


进入官网

https://www.roboti.us/


下载对应的版本我们选择“mjpro 150 linux”


找到下载的目录


在文件所在位置处,打开终端,


查看文件

创建一个隐藏的文件夹,并将mjpro150_linux 拷贝到 mujoco 文件夹中,也可以设置不隐藏文件夹。(个人比较喜欢隐藏配置文件,因为文件夹多了会很乱,这个是个安装文件夹没必要显示,可根据个人喜好选择是否隐藏)

将下载好的安装包复制到建好的文件夹中

mkdir ~/.mujoco
cp mjpro150_linux.zip ~/.mujoco


进入创建好的文件夹中,并查看文件是否复制成功

cd ~/.mujoco
ls



解压文件


找到密钥下载的位置,右键--在终端打开


将密钥复制到创建的隐藏mujoco文件夹中

cp mjkey.txt ~/.mujoco
cp mjkey.txt ~/.mujoco/mjpro150/bin



添加环境变量:用gedit或vim 打开~/.bashrc 文件,


将以下命令添加进去,并点击保存

export LD_LIBRARY_PATH=~/.mujoco/mjpro150/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}


关闭.bashrc文件,进入mjpro150执行文件夹bin中

cd ~/.mujoco/mjpro150/bin



(3)模拟测试


开始执行模拟测试

./simulate ../model/humanoid.xml


测试过程中出现问题,找不到共享的测试文件


列出simulate相关库,进行查看


ldd simulate


背景补充:ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系。



检查发现,相关库基本齐全,仔细分析上述错误,得出结论,我们刚才虽然添加了环境变量但是却没有让其生效。

执行source bashrc 初始化或是重新打开一个终端再执行命令即可

source ~/.bashrc


再次执行模拟测试


可以看到,此时已经执行了模拟测试,但是被终端挡住了,我们将终端最小化,进行查看。


可以看到,模拟测试成功!


这是一个叫做“humanoid”的模拟测试,通过滑动鼠标滚轮,我们可以调整视距大小。


远距离视距


近距离视距


单击鼠标左键不松,上下左右拖动,即可获得不同的视角信息


侧面视角


仰望视角


俯视视角


点击右上角的叉号即可关闭测试。


二、mujoco_py的安装


(1)下载


在github上直接搜索“mujoco_py”找到code,点击下载


选择保存文件


打开文件所在的位置


找到后直接双击,点击提取(也可以像安装mujoco那样先新建文件夹,复制后再解压)


点击左侧目录可以选择位置,选好位置后,点击右侧“提取”。


提取成功后关闭文件


打开提取好的文件


进入该文件夹后,右键----在终端打开


查看文件


(2)安装


获取root权限

su root



安装需求文件

pip install -r requirements.txt -i https://pypi.douban.com/simple/



安装需求的dev文件

pip install -r requirements.dev.txt -i https://pypi.douban.com/simple/



进入vendor文件夹并查看文件 

cd vendor
ls




执行xdummy-entrypoint文件

./Xdummy-entrypoint



返回上层目录

cd ..



开始安装 

python3 setup.py install



经过操作发现默认安装的,直接就是mujoco200系列,这种安装方法对于新手用户来说十分不友好,于是我们改变策略,直接调用清华源来进行安装

pip install -U 'mujoco-py<1.50.2,>=1.50.1' -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn


此时系统便会帮你自动安装所需要依赖包


可以看到只需这一条命令,我们便可以成功安装mujoco-py


(3)测试


输入以下代码,开始测试

python
import 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)




sim.step()
print(sim.data.qpos)




有数字输出的基本表示正常。


下面我们开始测试样例,返回之前下载好的目录,找到mujoco-py-master文件夹。


进入mujoco-py-master文件夹,之后右键-----打开终端


终端打开后,进入样例文件夹,并查看文件

cd examples
ls


可以看到,一共有11个样例


运行第一个样例:python body_interaction.py  


这个实验需要注意,需要按下键盘右侧方向键,才可以一步一步执行,不然很快圆柱体就从上方滑下去了。


第二个样例:python mjvive.py    执行后发现没有openvr包

安装openvr包 由于配置的python3.5暂不能运行(后期会进行补充实验,大家有兴趣的可以持续关注这个实验)


第三个样例:python setting_state.py


运行后


其余的案例不再一一演示,如果你对其它例子感兴趣,可以自行尝试运行

命令为python xxxx.py。


三、安装Gym


在github中找到gym安装包

https://github.com/openai/gym


点击下载


下载后将文件解压


进入gym-master文件夹, 右键---终端打开


进入需要安装的虚拟环境

source activate sd3



开始安装

pip install -e '.[all]'



出现错误python版本过低,该怎么办呢?难道重新安装吗?


大可不必!


我们直接在虚拟环境中更新pyhton

conda install python==3.6




出现确认进程时,选择y即可,安装完成后输入python即可看到,我们已经成功将虚拟环境的python更新为3.6。


再次开始安装,再次输入命令

 pip install -e '.[all]'



中间会出现错误,不用管它,最后可以看到,我们已经成功安装gym及其依赖包。


相关补充:


安装torch1.4.0的方法

pip install torch==1.4.0 -i https://pypi.douban.com/simple


如果出现,明明安装了,调用时却还是缺包的现象,这说明,环境变量未生效,重新打开一个终端,再次运行即可。



对此,你有什么看法呢?如果你在操作过程中遇到了什么问题,或有什么想法和建议,在留言区留下你的足迹吧,与大家一起交流,一起进步~


我只想做一件事:降低强化学习的门槛!强化学习实验环境搭建教程(收藏干货)的评论 (共 条)

分享到微博请遵守国家法律