我只想做一件事:降低强化学习的门槛!强化学习实验环境搭建教程(收
强化学习实验环境搭建
“加油!向前冲!做了再说!”
“Go for it! Just do it! ”
image一、安装Mujoco
(1)安装并解决依赖包问题
直接使用pip安装
pip install mujoco_py -i https://pypi.douban.com/simple/
image
出现“Building wheel for mujoco-py(PEP 517) ... error”,于是需要执行如下命令。
yum install mesa-libOSMesa
image
image
yum install mesa-libOSMesa-devel
image
wget -c http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/patchelf-0.9-10.el7.x86_64.rpm
image
(2)注册许可
首先进入github
image找到安装位置
image安装网址为
https://www.roboti.us/license.html
image
选中liunx
image点击后会出现
image在下载文件夹内找到下载好的getid_linux
image根据官方建议,可先进行30天的免费试用
在文件处---右键---在终端打开
image查看文件
ls
image
改变文件执行权限
chmod +x getid_linux
image
可以看到,文件此时已经变成绿色,表示可执行,执行文件,获得电脑id
image将此电脑id复制下来新建文本,存好,在后面注册步骤中要用到
填写姓名,邮件地址后,将刚刚复制存好的电脑id粘贴进来,并勾选同意协议,最后点击submit选择提交
image提交后,会出现以下界面
image此时已经注册成功,并拿到了Mujoco的试用许可证,Mujoco官网已经将激活密钥发送到了我们注册时所填的邮箱。
进行查看,其中包含“LICENSE.txt”和“mjkey.txt”两个文件
image我们将LICENSE.txt和mjkey.txt下载,保存到本地。
进入官网
https://www.roboti.us/
下载对应的版本我们选择“mjpro 150 linux”
image找到下载的目录
image在文件所在位置处,打开终端,
image查看文件
image创建一个隐藏的文件夹,并将mjpro150_linux
拷贝到 mujoco
文件夹中,也可以设置不隐藏文件夹。(个人比较喜欢隐藏配置文件,因为文件夹多了会很乱,这个是个安装文件夹没必要显示,可根据个人喜好选择是否隐藏)
将下载好的安装包复制到建好的文件夹中
mkdir ~/.mujococp mjpro150_linux.zip ~/.mujoco
image
进入创建好的文件夹中,并查看文件是否复制成功
cd ~/.mujocols
image
解压文件
image找到密钥下载的位置,右键--在终端打开
image将密钥复制到创建的隐藏mujoco文件夹中
cp mjkey.txt ~/.mujococp mjkey.txt ~/.mujoco/mjpro150/bin
image
添加环境变量:用gedit或vim 打开~/.bashrc
文件,
将以下命令添加进去,并点击保存
export LD_LIBRARY_PATH=~/.mujoco/mjpro150/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
image
关闭.bashrc文件,进入mjpro150执行文件夹bin中
cd ~/.mujoco/mjpro150/bin
image
(3)模拟测试
开始执行模拟测试
./simulate ../model/humanoid.xml
测试过程中出现问题,找不到共享的测试文件
image列出simulate相关库,进行查看
ldd simulate
背景补充:ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系。
image检查发现,相关库基本齐全,仔细分析上述错误,得出结论,我们刚才虽然添加了环境变量但是却没有让其生效。
执行source bashrc 初始化或是重新打开一个终端再执行命令即可
source ~/.bashrc
image
再次执行模拟测试
image可以看到,此时已经执行了模拟测试,但是被终端挡住了,我们将终端最小化,进行查看。
image可以看到,模拟测试成功!
image这是一个叫做“humanoid”的模拟测试,通过滑动鼠标滚轮,我们可以调整视距大小。
远距离视距
image近距离视距
image单击鼠标左键不松,上下左右拖动,即可获得不同的视角信息
侧面视角
image仰望视角
image俯视视角
image点击右上角的叉号即可关闭测试。
image二、mujoco_py的安装
(1)下载
在github上直接搜索“mujoco_py”找到code,点击下载
image选择保存文件
image打开文件所在的位置
image找到后直接双击,点击提取(也可以像安装mujoco那样先新建文件夹,复制后再解压)
image点击左侧目录可以选择位置,选好位置后,点击右侧“提取”。
image提取成功后关闭文件
image打开提取好的文件
image进入该文件夹后,右键----在终端打开
image查看文件
image(2)安装
获取root权限
su root
image
安装需求文件
pip install -r requirements.txt -i https://pypi.douban.com/simple/
image
安装需求的dev文件
pip install -r requirements.dev.txt -i https://pypi.douban.com/simple/
image
进入vendor文件夹并查看文件
cd vendorls
image
执行xdummy-entrypoint文件
./Xdummy-entrypoint
image
返回上层目录
cd ..
image
开始安装
python3 setup.py install
image
经过操作发现默认安装的,直接就是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
此时系统便会帮你自动安装所需要依赖包
image可以看到只需这一条命令,我们便可以成功安装mujoco-py
image(3)测试
输入以下代码,开始测试
pythonimport mujoco_pyimport osmj_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)
image
sim.step()print(sim.data.qpos)
image
有数字输出的基本表示正常。
下面我们开始测试样例,返回之前下载好的目录,找到mujoco-py-master文件夹。
image进入mujoco-py-master文件夹,之后右键-----打开终端
image终端打开后,进入样例文件夹,并查看文件
cd examplesls
可以看到,一共有11个样例
image运行第一个样例:python body_interaction.py
image这个实验需要注意,需要按下键盘右侧方向键,才可以一步一步执行,不然很快圆柱体就从上方滑下去了。
image第二个样例:python mjvive.py 执行后发现没有openvr包
image安装openvr包 由于配置的python3.5暂不能运行(后期会进行补充实验,大家有兴趣的可以持续关注这个实验)
第三个样例:python setting_state.py
image运行后
image其余的案例不再一一演示,如果你对其它例子感兴趣,可以自行尝试运行
命令为python xxxx.py。
三、安装Gym
在github中找到gym安装包
https://github.com/openai/gym
点击下载
image下载后将文件解压
image进入gym-master文件夹, 右键---终端打开
image进入需要安装的虚拟环境
source activate sd3
image
开始安装
pip install -e '.[all]'
image
出现错误python版本过低,该怎么办呢?难道重新安装吗?
image大可不必!
image我们直接在虚拟环境中更新pyhton
conda install python==3.6
image
出现确认进程时,选择y即可,安装完成后输入python即可看到,我们已经成功将虚拟环境的python更新为3.6。
image再次开始安装,再次输入命令
pip install -e '.[all]'
image
中间会出现错误,不用管它,最后可以看到,我们已经成功安装gym及其依赖包。
image相关补充:
安装torch1.4.0的方法
pip install torch==1.4.0 -i https://pypi.douban.com/simple
image
如果出现,明明安装了,调用时却还是缺包的现象,这说明,环境变量未生效,重新打开一个终端,再次运行即可。
image对此,你有什么看法呢?如果你在操作过程中遇到了什么问题,或有什么想法和建议,在留言区留下你的足迹吧,与大家一起交流,一起进步~