我只想做一件事:降低強(qiáng)化學(xué)習(xí)的門檻!強(qiáng)化學(xué)習(xí)實(shí)驗(yàn)環(huán)境搭建教程(收藏干貨)



強(qiáng)化學(xué)習(xí)實(shí)驗(yàn)環(huán)境搭建
“加油!向前沖!做了再說!”
“Go for it! Just do it! ”

一、安裝Mujoco
(1)安裝并解決依賴包問題
直接使用pip安裝
pip?install?mujoco_py?-i?https://pypi.douban.com/simple/

出現(xiàn)“Building wheel for mujoco-py(PEP 517) ... error”,于是需要執(zhí)行如下命令。
yum?install?mesa-libOSMesa


yum?install?mesa-libOSMesa-devel

wget?-c?http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/patchelf-0.9-10.el7.x86_64.rpm

(2)注冊(cè)許可
首先進(jìn)入github

找到安裝位置

安裝網(wǎng)址為
https://www.roboti.us/license.html

選中l(wèi)iunx

點(diǎn)擊后會(huì)出現(xiàn)

在下載文件夾內(nèi)找到下載好的getid_linux

根據(jù)官方建議,可先進(jìn)行30天的免費(fèi)試用
在文件處---右鍵---在終端打開

查看文件
ls

改變文件執(zhí)行權(quán)限
chmod?+x?getid_linux

可以看到,文件此時(shí)已經(jīng)變成綠色,表示可執(zhí)行,執(zhí)行文件,獲得電腦id

將此電腦id復(fù)制下來新建文本,存好,在后面注冊(cè)步驟中要用到
填寫姓名,郵件地址后,將剛剛復(fù)制存好的電腦id粘貼進(jìn)來,并勾選同意協(xié)議,最后點(diǎn)擊submit選擇提交

提交后,會(huì)出現(xiàn)以下界面
此時(shí)已經(jīng)注冊(cè)成功,并拿到了Mujoco的試用許可證,Mujoco官網(wǎng)已經(jīng)將激活密鑰發(fā)送到了我們注冊(cè)時(shí)所填的郵箱。
進(jìn)行查看,其中包含“LICENSE.txt”和“mjkey.txt”兩個(gè)文件
我們將LICENSE.txt和mjkey.txt下載,保存到本地。
進(jìn)入官網(wǎng)
https://www.roboti.us/
下載對(duì)應(yīng)的版本我們選擇“mjpro 150 linux”
找到下載的目錄
在文件所在位置處,打開終端,
查看文件
創(chuàng)建一個(gè)隱藏的文件夾,并將mjpro150_linux
?拷貝到?mujoco
?文件夾中,也可以設(shè)置不隱藏文件夾。(個(gè)人比較喜歡隱藏配置文件,因?yàn)槲募A多了會(huì)很亂,這個(gè)是個(gè)安裝文件夾沒必要顯示,可根據(jù)個(gè)人喜好選擇是否隱藏)
將下載好的安裝包復(fù)制到建好的文件夾中
mkdir?~/.mujoco
cp?mjpro150_linux.zip?~/.mujoco
進(jìn)入創(chuàng)建好的文件夾中,并查看文件是否復(fù)制成功
cd?~/.mujoco
ls
解壓文件
找到密鑰下載的位置,右鍵--在終端打開
將密鑰復(fù)制到創(chuàng)建的隱藏mujoco文件夾中
cp?mjkey.txt?~/.mujoco
cp?mjkey.txt?~/.mujoco/mjpro150/bin
添加環(huán)境變量:用gedit或vim 打開~/.bashrc
?文件,
將以下命令添加進(jìn)去,并點(diǎn)擊保存
export?LD_LIBRARY_PATH=~/.mujoco/mjpro150/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export?MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
關(guān)閉.bashrc文件,進(jìn)入mjpro150執(zhí)行文件夾bin中
cd?~/.mujoco/mjpro150/bin

(3)模擬測(cè)試
開始執(zhí)行模擬測(cè)試
./simulate?../model/humanoid.xml
測(cè)試過程中出現(xiàn)問題,找不到共享的測(cè)試文件

列出simulate相關(guān)庫,進(jìn)行查看
ldd?simulate
背景補(bǔ)充:ldd是list, dynamic, dependencies的縮寫, 意思是,?列出動(dòng)態(tài)庫依賴關(guān)系。

檢查發(fā)現(xiàn),相關(guān)庫基本齊全,仔細(xì)分析上述錯(cuò)誤,得出結(jié)論,我們剛才雖然添加了環(huán)境變量但是卻沒有讓其生效。
執(zhí)行source?bashrc 初始化或是重新打開一個(gè)終端再執(zhí)行命令即可
source?~/.bashrc

再次執(zhí)行模擬測(cè)試

可以看到,此時(shí)已經(jīng)執(zhí)行了模擬測(cè)試,但是被終端擋住了,我們將終端最小化,進(jìn)行查看。

可以看到,模擬測(cè)試成功!

這是一個(gè)叫做“humanoid”的模擬測(cè)試,通過滑動(dòng)鼠標(biāo)滾輪,我們可以調(diào)整視距大小。
遠(yuǎn)距離視距

近距離視距

單擊鼠標(biāo)左鍵不松,上下左右拖動(dòng),即可獲得不同的視角信息
側(cè)面視角

仰望視角

俯視視角

點(diǎn)擊右上角的叉號(hào)即可關(guān)閉測(cè)試。

二、mujoco_py的安裝
(1)下載
在github上直接搜索“mujoco_py”找到code,點(diǎn)擊下載

選擇保存文件

打開文件所在的位置

找到后直接雙擊,點(diǎn)擊提?。ㄒ部梢韵癜惭bmujoco那樣先新建文件夾,復(fù)制后再解壓)

點(diǎn)擊左側(cè)目錄可以選擇位置,選好位置后,點(diǎn)擊右側(cè)“提取”。

提取成功后關(guān)閉文件

打開提取好的文件

進(jìn)入該文件夾后,右鍵----在終端打開
查看文件
(2)安裝
獲取root權(quán)限
su?root
安裝需求文件
pip?install?-r?requirements.txt?-i?https://pypi.douban.com/simple/
安裝需求的dev文件
pip?install?-r?requirements.dev.txt?-i?https://pypi.douban.com/simple/
進(jìn)入vendor文件夾并查看文件?
cd?vendor
ls
執(zhí)行xdummy-entrypoint文件
./Xdummy-entrypoint
返回上層目錄
cd?..
開始安裝?
python3?setup.py?install
經(jīng)過操作發(fā)現(xiàn)默認(rèn)安裝的,直接就是mujoco200系列,這種安裝方法對(duì)于新手用戶來說十分不友好,于是我們改變策略,直接調(diào)用清華源來進(jìn)行安裝
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
此時(shí)系統(tǒng)便會(huì)幫你自動(dòng)安裝所需要依賴包
可以看到只需這一條命令,我們便可以成功安裝mujoco-py
(3)測(cè)試
輸入以下代碼,開始測(cè)試
python
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)
sim.step()
print(sim.data.qpos)
有數(shù)字輸出的基本表示正常。
下面我們開始測(cè)試樣例,返回之前下載好的目錄,找到mujoco-py-master文件夾。
進(jìn)入mujoco-py-master文件夾,之后右鍵-----打開終端

終端打開后,進(jìn)入樣例文件夾,并查看文件
cd?examples
ls
可以看到,一共有11個(gè)樣例

運(yùn)行第一個(gè)樣例:python body_interaction.py??

這個(gè)實(shí)驗(yàn)需要注意,需要按下鍵盤右側(cè)方向鍵,才可以一步一步執(zhí)行,不然很快圓柱體就從上方滑下去了。

第二個(gè)樣例:python mjvive.py ???執(zhí)行后發(fā)現(xiàn)沒有openvr包

安裝openvr包 由于配置的python3.5暫不能運(yùn)行(后期會(huì)進(jìn)行補(bǔ)充實(shí)驗(yàn),大家有興趣的可以持續(xù)關(guān)注這個(gè)實(shí)驗(yàn))
第三個(gè)樣例:python setting_state.py

運(yùn)行后

其余的案例不再一一演示,如果你對(duì)其它例子感興趣,可以自行嘗試運(yùn)行
命令為python xxxx.py。
三、安裝Gym
在github中找到gym安裝包
https://github.com/openai/gym
點(diǎn)擊下載

下載后將文件解壓

進(jìn)入gym-master文件夾,?右鍵---終端打開

進(jìn)入需要安裝的虛擬環(huán)境
source?activate?sd3

開始安裝
pip?install?-e?'.[all]'

出現(xiàn)錯(cuò)誤python版本過低,該怎么辦呢?難道重新安裝嗎?

大可不必!

我們直接在虛擬環(huán)境中更新pyhton
conda?install?python==3.6

出現(xiàn)確認(rèn)進(jìn)程時(shí),選擇y即可,安裝完成后輸入python即可看到,我們已經(jīng)成功將虛擬環(huán)境的python更新為3.6。

再次開始安裝,再次輸入命令
?pip?install?-e?'.[all]'

中間會(huì)出現(xiàn)錯(cuò)誤,不用管它,最后可以看到,我們已經(jīng)成功安裝gym及其依賴包。

相關(guān)補(bǔ)充:
安裝torch1.4.0的方法
pip?install?torch==1.4.0?-i?https://pypi.douban.com/simple

如果出現(xiàn),明明安裝了,調(diào)用時(shí)卻還是缺包的現(xiàn)象,這說明,環(huán)境變量未生效,重新打開一個(gè)終端,再次運(yùn)行即可。

對(duì)此,你有什么看法呢?如果你在操作過程中遇到了什么問題,或有什么想法和建議,在留言區(qū)留下你的足跡吧,與大家一起交流,一起進(jìn)步~