深度強化學習小菜鳥第一步:環境搭建(anaconda+tensorflow+gym+atari+mujoco)

本人主要從通過伯克利的視頻CS 294 Deep Reinforcement Learning, Fall 2017來學習深度強化學習的,具體涉及到的知識性的內容就不和大家討論了,如果你也在學的話,歡迎一起討論,我現在努力學習中。。。。

首先介紹一下,我真的很菜,很多常識性的知識我都不知道,特別是編寫代碼的動手能力,對linux也不熟悉,python也是現用現學。。。如果你和我一樣閱讀我這一篇文章應該對你會有幫助,當然,如果你是大神,就不要浪費你的時間了。我的學習步驟主要根據伯克利的視頻來的,我做實驗的話,也主要是根據他們留下的homework,幸虧實驗是在模擬環境下的,現實環境中的機械臂,機器人啥的,我真的沒有那個實驗條件。我目前讀研,我這一級我導師只有我一名學生,全實驗室只有我在學深度強化學習(有些想大哭的衝動),導師不做這個,也指導不了我。。。。所以有任何不足之處敬請批評指正。粗體是內容的關鍵。

最開始的介紹完了,回歸正題,這次環境搭建的參考文檔是:rll.berkeley.edu/deeprl 主要是根據此文檔的提示一步步往下走的,首先比較重要的網站是:OpenAI Gym 和openai/gym

我的環境很簡單:ubuntu 16.04 LTS (搭建環境前我在cpu上重裝的系統)

因為一些更新國內下載真的很慢,所以我選擇清華大學開源軟體鏡像站:mirrors.tuna.tsinghua.edu.cn

其中涉及到很多開源軟體的鏡像,找到ubuntu,根據ubuntu鏡像使用幫助來替換原系統中的/etc/apt/sources.list文件(事先備份一下哦),因為涉及到許可權問題,所以需要在terminal中運行sudo gedit /etc/apt/sources.list來打開文件,這樣才能保存,否則無法執行修改操作。

在清華開源軟體鏡像站中找到此內容對你的sources.list文件更新吧

接下來在鏡像站中 mirrors.tuna.tsinghua.edu.cn 找到anaconda並下載anaconda的鏡像文件,對於環境搭建,環境配置要求比較多,原來我一直比較偏向最新版的文件,但是後來慢慢發現,一直追求最新版的真的會導致很多問題,所以還是乖乖的按照參考網站中的來吧,anaconda的選擇python3.5版本的,3.6 我試過,出了一些問題,後來解決了又出現了一堆問題,我不想再浪費時間在搭建環境的問題上了,我回歸到了3.5版本,下載的是Anaconda3-4.2.0-Linux-x86_64.sh,根據鏡像站中的Anaconda鏡像使用幫助可以添加Anaconda Python免費倉庫(詳情我就不介紹了,大家就去鏡像站看看吧)。

安裝anaconda的教程anaconda官網上有,我就不贅述了,重點是,一共有兩個讓你選擇yes和no的問題,你都選擇yes就好了,第一個yes是問題是否同意協議,這個當然咯,第二個的意思是否把anaconda的路徑添加到。。。。,同意就好了,否則安裝anaconda也就沒有意義了,因為以後引用的python都是anaconda版的,不是ubuntu原系統的。

為了以後出現問題,這時候需要做的是,順序運行以下命令:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install -f

這裡做的應該就是更新一些packages,如果鏡像都改好的話,這裡應該就不會出現什麼問題(如果有的話,可能提示....sudo apt-get update or try with fixed-missing.,應該就是網速導致的)

安裝TensorFlow,只需要在安裝完anaconda之後,換一個terminal窗口,輸入命令conda install tensorflow 就搞定了

接下來就是安裝gym了,按照openai/gym提示,先安裝一些依賴

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

(查看網站中的Installing everything,許可權不夠的話,命令前加sudo),然後查看一下你有沒有安裝cmake(cmake --version),沒有的話,根據提示安裝即可(sudo apt install cmake)。

然後順序運行以下三條命令:

git clone github.com/openai/gym.g (如果這裡你沒有安裝git的話,系統會提示,根據提示安裝即可:sudo apt install git)

cd gym

pip install -e .[all] (可能會提醒你更新你的pip,根據提示更新就好:pip install --upgrade pip)

到此為止gym 就安裝好了。。

可以運行下列代碼來測試是否安裝成功:

import gym

env = gym.make(CartPole-v0)#在此處替換各種遊戲環境的名字,分別測試

env.reset()

for _ in range(1000):

env.render()

env.step(env.action_space.sample()) # take a random action

當你運行Atari遊戲的時候,會跳出OSError:..........:version GLIBCXX_3.4.20 not found ,主要原因是libgcc的版本太低了,更新一下就好了(conda install libgcc)

當你運行box2d遊戲的時候,出現AttributeError:module Box2D._Box2D has no attribute RAND_LIMIT,順序運行以下命令就解決了^_^

pip uninstall Box2D-kengz

git clone github.com/pybox2d/pybo

cd pybox2d

python setup.py clean

python setup.py install

接下來就是最後一個環節了。安裝mujoco,這裡需要提醒大家的是在安裝gym的時候mujoco-py已經安裝過了(可以通過conda list 查看,安裝方式是pip),所以不需要再按照GitHub上的提示安裝,你真正需要做的就是去mujoco官網MuJoCo下載壓縮包,根據教程推薦rll.berkeley.edu/deeprl 選擇mjpro131下載,然後在用戶名目錄下(/home/jujuxiang 提示:jujuxiang是我的用戶名哦)創建隱藏文件夾(mkdir .mujoco 注意文件夾名字前面有個.哦,按住CTRL+H可以顯示隱藏文件),然後把你下載好的mjpro131.zip文件解壓到~/.mujoco下,最後得到的目錄結構是~/.mujoco/mjpro131,最後把你得到的license key(從郵箱里收到的mjkey.txt文件)拷貝到~/.mujoco下,然後一切就搞定了

其中在申請license key的時候,需要下載一個executable文件讀取你的computer id,運行executable文件的順序命令為:

chmod +x filename

./filename

註:其中filename代表你要執行的文件的名字

在mujoco官網上提交信息後等待一段時間,應該是幾個小時的時間,郵箱里就會收到mjkey.txt文件。

到此為止大功告成咯!!

推薦閱讀:

現在最火的深度學習框架是什麼?
如何看待 Nervana 被 Intel 收購?
如何評價 2017 年 Jeff Dean 的關於使用 deep learning 做索引的論文?
萬元深度學習電腦如何配置?
如何評價重磅論文《Stopping GAN Violence》?

TAG:深度学习DeepLearning | Anaconda | 强化学习ReinforcementLearning |