【強化學(xué)習(xí)】gym+baselines+mujoco+mujoco_py安裝配置

使用現(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 idSubmit以后郵箱里就會收到證書mjkey.txt了癞季。
第二種:試用1年
試用1年僅限教育郵箱劫瞳,所以如果你有教育郵箱的話,就可以申請1年的試用期绷柒。


填入相應(yīng)的信息以后點Request license志于,你會在第二天(注意是第二天!)收到郵件废睦,郵件內(nèi)會有一個Account number伺绽,把Account number Computer id填入到官網(wǎng)上,獲取Computer id的方法同第一種方法所述嗜湃。

填入Account number和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 的安裝,在安裝過程中可能會有不少錯誤,逐一排查即可大脉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搞监,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子镰矿,更是在濱河造成了極大的恐慌琐驴,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衡怀,死亡現(xiàn)場離奇詭異棍矛,居然都是意外死亡安疗,警方通過查閱死者的電腦和手機抛杨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荐类,“玉大人怖现,你說我怎么就攤上這事∮窆蓿” “怎么了屈嗤?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吊输。 經(jīng)常有香客問我饶号,道長,這世上最難降的妖魔是什么季蚂? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任茫船,我火速辦了婚禮,結(jié)果婚禮上扭屁,老公的妹妹穿的比我還像新娘算谈。我一直安慰自己,他們只是感情好料滥,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布然眼。 她就那樣靜靜地躺著,像睡著了一般葵腹。 火紅的嫁衣襯著肌膚如雪高每。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天践宴,我揣著相機與錄音鲸匿,去河邊找鬼。 笑死浴井,一個胖子當(dāng)著我的面吹牛晒骇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼洪囤,長吁一口氣:“原來是場噩夢啊……” “哼徒坡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瘤缩,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤喇完,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后剥啤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锦溪,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年府怯,在試婚紗的時候發(fā)現(xiàn)自己被綠了刻诊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡牺丙,死狀恐怖则涯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冲簿,我是刑警寧澤粟判,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站峦剔,受9級特大地震影響档礁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吝沫,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一呻澜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧野舶,春花似錦易迹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至一屋,卻和暖如春窘疮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背冀墨。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工闸衫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诽嘉。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓蔚出,卻偏偏與公主長得像弟翘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子骄酗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容