1. 程式人生 > 其它 >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