使用現(xiàn)有的開源框架可以使我們更好地完成強化學(xué)習(xí)的入門江耀,其中OpenAI給我們提供了gym拦宣、baselines、mujoco這些方便學(xué)習(xí)的環(huán)境和算法巨税,要能夠很好地使用這些資源,首先需要進行的就是安裝與配置粉臊。由于OpenAI提供的文檔資源并不多草添,成功配置成為了很多人學(xué)習(xí)道路上的阻礙。所以把整個過程記錄下來分享學(xué)習(xí)扼仲。
博主的環(huán)境:
虛擬機VMware Workstation12 + Ubuntu18.04
個人認為使用Anaconda管理各種環(huán)境比較方便簡潔远寸,建議先安裝Anaconda,我安裝的版本是Anaconda3-4.3.0屠凶,清華有開源鏡像驰后,下載地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive
具體的安裝過程可以參考我之前的一篇教程:http://www.reibang.com/p/9f83e172a1ec
Anaconda準(zhǔn)備好虛擬環(huán)境以后,現(xiàn)在開始安裝配置gym矗愧、baselines灶芝、mujoco、mujoco_py
一唉韭、安裝gym
安裝gym的過程我已經(jīng)寫在了之前的文章里夜涕,這里就不再贅述。
安裝gym教程鏈接:http://www.reibang.com/p/9f83e172a1ec
二属愤、安裝baselines
安裝baselines的過程與安裝gym非常相似钠乏,可以直接安裝在同一個虛擬環(huán)境下面。具體過程:
2.1 進入虛擬環(huán)境春塌,用git直接克隆
source activate gymlab #寫你自己的虛擬環(huán)境名稱
git clone https://github.com/openai/baselines.git
2.2 進入baselines文件夾晓避,用pip進行完全安裝
cd baselines
pip install -e '.[all]'
2.3 安裝過程中如果缺少依賴包就會報錯,缺少什么包就補什么包只壳。
三俏拱、安裝mujoco
MuJoCo(Multi-Joint dynamics with Contact)是一個物理模擬器,開源的強化學(xué)習(xí)框架中很多實例都會用到這個物理模擬器吼句,所以你想要學(xué)習(xí)更多的強化學(xué)習(xí)算法锅必,安裝好mujoco是非常必要的。
3.1 準(zhǔn)備工作:
在官網(wǎng)(https://www.roboti.us/)上下載mjpro150 linux
,點擊License
進入許可證頁面搞隐。
兩種試用:
第一種:試用30天
填入Full name
, Email address
, Computer id
其中根據(jù)下載 getid_linux
(可執(zhí)行文件) 獲取Computer id
驹愚,步驟如下:
點擊上圖中紅圈的Linux
,下載getid_linux
文件劣纲,然后給予執(zhí)行權(quán)利并執(zhí)行文件
$ chmod a+x getid_linux
$ ./getid_linux
執(zhí)行后會輸出Computer id
逢捺,直接填入到官網(wǎng)上面的Computer id
,Submit
以后郵箱里就會收到證書mjkey.txt
了癞季。
第二種:試用1年
試用1年僅限教育郵箱劫瞳,所以如果你有教育郵箱的話,就可以申請1年的試用期绷柒。
填入相應(yīng)的信息以后點
Request license
志于,你會在第二天(注意是第二天!)收到郵件废睦,郵件內(nèi)會有一個Account number
伺绽,把Account number
Computer id
填入到官網(wǎng)上,獲取Computer id
的方法同第一種方法所述嗜湃。
3.2 配置環(huán)境
3.2.1 在Home目錄下面創(chuàng)建隱藏文件夾.mujoco
并將 之前下載好的mjpro150_linux
拷貝到隱藏文件夾中
$ mkdir ~/.mujoco
$ cp mjpro150_linux.zip ~/.mujoco
$ cd ~/.mujoco
$ unzip mjpro150_linux.zip
3.2.2 把下載好的證書mjkey.txt
拷貝到.mujoco
中
cp mjkey.txt ~/.mujoco
cp mjkey.txt ~/.mujoco/mjpro150/bin
3.2.3 添加環(huán)境變量, 用nano打開~/.bashrc
文件并添加命令
sudo nano ~/.bashrc
export LD_LIBRARY_PATH=~/.mujoco/mjpro150/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
3.2.4 運行結(jié)果以檢驗是否安裝成功
cd ~/.mujoco/mjpro150/bin
./simulate ../model/humanoid.xml
運行后結(jié)果:
四奈应、安裝mujoco_py
安裝方式并不唯一,可自行選擇净蚤,在這里只分享博主自己安裝的方式以供參考钥组。
4.1 進入虛擬環(huán)境,用git直接克隆
source activate gymlab #寫你自己的虛擬環(huán)境名稱
git clone https://github.com/openai/mujoco-py.git
4.2 先安裝可能會缺少的東西(建議更改一下軟件源)
更改軟件源能夠加快下載速度今瀑,具體方法可以參考我之前的博文:http://www.reibang.com/p/04d804f52109
sudo apt-get update -q
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y curl git libgl1-mesa-dev libgl1-mesa-glx libglew-dev libosmesa6-dev python3-pip python3-numpy python3-scipy net-tools unzip vim wget xpra xserver-xorg-dev
sudo apt-get clean
rm -rf /var/lib/apt/lists/*
4.3 安裝patchelf
sudo -s
curl -o /usr/local/bin/patchelf https://s3-us-west-2.amazonaws.com/openai-sci-artifacts/manual-builds/patchelf_0.9_amd64.elf
chmod +x /usr/local/bin/patchelf
4.4 進入mujoco_py
目錄程梦,進行安裝
pip install -U 'mujoco-py<1.50.2,>=1.50.1'
4.5 安裝過程中依然遵循缺什么補什么的原則,直到完全安裝成功為止
一般來說橘荠,這個過程不會很順利屿附,根據(jù)所報的錯誤一步一步排查安裝缺少的東西。耐心點哥童,都是這么崩潰過來的 :)
4.6 安裝完成后檢驗是否安裝成功
在虛擬環(huán)境下面進入python挺份,如果你能順利執(zhí)行以下代碼就說明安裝成功了。
>>> import mujoco_py
>>> from os.path import dirname
>>> model = mujoco_py.load_model_from_path(dirname(dirname(mujoco_py.__file__)) + "/xmls/claw.xml")
>>> sim = mujoco_py.MjSim(model)
>>> print(sim.data.qpos)
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
>>> sim.step()
>>> print(sim.data.qpos)
[ 2.09217903e-06 -1.82329050e-12 -1.16711384e-07 -4.69613872e-11
-1.43931860e-05 4.73350204e-10 -3.23749942e-05 -1.19854057e-13
-2.39251380e-08 -4.46750545e-07 1.78771599e-09 -1.04232280e-08]
>>> model = mujoco_py.load_model_from_path(dirname(dirname(mujoco_py.__file__)) + "/xmls/claw.xml")
如果你在執(zhí)行以上代碼的時候報錯找不到文件的話
請把mujoco_py
目錄下面的xmls
文件夾拷貝到報錯信息所提示的文件夾下贮懈,具體文件夾根據(jù)自己的報錯信息決定匀泊。如上圖中的報錯信息,即將xmls
文件夾拷貝到/home/jjiawen/anaconda3/envs/gymlab/lib/python3.5/site-packages/mujoco_py-1.50.1.68-py3.5.egg
下朵你,再重新導(dǎo)入model就不會報錯了各聘。
五、總結(jié):
至此已經(jīng)完成了gym抡医、baselines躲因、mujoco 和 mujoco_py 的安裝,在安裝過程中可能會有不少錯誤,逐一排查即可大脉。