Ubuntu18.04部署强化学习环境(安装gym+mujoco+mujoco-py)保姆级教程

时间:2021-07-14
本文章向大家介绍Ubuntu18.04部署强化学习环境(安装gym+mujoco+mujoco-py)保姆级教程,主要包括Ubuntu18.04部署强化学习环境(安装gym+mujoco+mujoco-py)保姆级教程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本人针对铲运机的自主铲装问题,基于OpenAI gym开发了一个强化学习环境gym-lhd。其系统环境大致要求为:

  • 系统 == Ubuntu18.04LTS 下载
  • Anaconda(python == 3.6) 官网
  • GCC:5.0 安装
  • mujoco == 200官网
  • mujoco-py == 2.0.2.9安装
  • gym == 0.15.3安装
  • 其他:'pandas','py-game','matplotlib'

本文以此为例,记录整个安装过程以供参考。

Anaconda

  • 官网下载安装脚本
  • 打开终端,进入脚本保存的目录(如Downloads
  • 在该目录下运行安装脚本,按提示进行安装(多用Tab自动补全)
  • 重启终端生效
cd Downloads/
bash Anaconda3-2021.05-Linux-x86_64.sh
  • 创建名为drl(自定)的python3.6环境,并激活环境
conda create -n drl python=3.6 anaconda
conda activate drl

GCC

可以参考这篇博客进行gcc多版本的控制,相信你会用得上

mujoco

如何获得Computer id

下载申请页面提供的程序,打开终端并进入该目录cd Downloads/,修改权限sudo chmod a+x getid_linux,运行./getid_linux

  • 安装
    打开终端,将文件解压并复制到新建目录.mujoco/
mkdir ~/.mujoco
cp mujoco200.zip ~/.mujoco
cd ~/.mujoco
unzip mujoco200.zip

从邮箱中下载mjkey.txt,复制到.mujoco/

cp ~/Downloads/mjkey.txt ~/.mujoco  
cp ~/Downloads/mjkey.txt ~/.mujoco/mujoco200/bin
  • 添加环境变量
sudo echo "export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" >> ~/.bashrc
sudo echo "export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}" >> ~/.bashrc
source ~/.bashrc

测试

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

mujoco-py

最简单的当然是用PIPpip install mujoco-py==2.0.2.9。这里主要介绍从源码安装:

cd ~/
git clone https://github.com/openai/mujoco-py.git
cd nujoco-py/
sudo apt-get update
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev  
python3-pip python3-numpy python3-scipy
pip3 install -r requirements.txt
sudo apt-get install patchelf
sudo apt-get install libglu1-mesa-dev mesa-common-dev
sudo echo "export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so" >> ~/.bashrc
conda activate drl
sudo python3 setup.py install

测试

ython3
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)
# [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)
# [-2.09531783e-19  2.72130735e-05  6.14480786e-22 -3.45474715e-06
#   7.42993721e-06 -1.40711141e-04 -3.04253586e-04 -2.07559344e-04
#   8.50646247e-05 -3.45474715e-06  7.42993721e-06 -1.40711141e-04
#  -3.04253586e-04 -2.07559344e-04 -8.50646247e-05  1.11317030e-04
#  -7.03465386e-05 -2.22862221e-05 -1.11317030e-04  7.03465386e-05
#  -2.22862221e-05]

gym

最简单的当然是用PIPpip install gym==0.15.3。这里主要介绍从源码安装:

cd ~/
git clone https://github.com/openai/gym.git
cd gym/
git checkout 0.15.3
apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig Pillow  libglfw3-dev
pip install -e '.[all]'

测试

pytest

本文来自博客园,作者:叶小蜗,转载请注明原文链接:https://www.cnblogs.com/yexiaowo/p/gym.html

原文地址:https://www.cnblogs.com/yexiaowo/p/gym.html