深度強化學習小菜鳥第一步:環境搭建(anaconda+tensorflow+gym+atari+mujoco)
本人主要從通過伯克利的視頻CS 294 Deep Reinforcement Learning, Fall 2017來學習深度強化學習的,具體涉及到的知識性的內容就不和大家討論了,如果你也在學的話,歡迎一起討論,我現在努力學習中。。。。
首先介紹一下,我真的很菜,很多常識性的知識我都不知道,特別是編寫代碼的動手能力,對linux也不熟悉,python也是現用現學。。。如果你和我一樣閱讀我這一篇文章應該對你會有幫助,當然,如果你是大神,就不要浪費你的時間了。我的學習步驟主要根據伯克利的視頻來的,我做實驗的話,也主要是根據他們留下的homework,幸虧實驗是在模擬環境下的,現實環境中的機械臂,機器人啥的,我真的沒有那個實驗條件。我目前讀研,我這一級我導師只有我一名學生,全實驗室只有我在學深度強化學習(有些想大哭的衝動),導師不做這個,也指導不了我。。。。所以有任何不足之處敬請批評指正。粗體是內容的關鍵。
最開始的介紹完了,回歸正題,這次環境搭建的參考文檔是:http://rll.berkeley.edu/deeprlcourse/f17docs/hw1fall2017.pdf 主要是根據此文檔的提示一步步往下走的,首先比較重要的網站是:OpenAI Gym 和openai/gym
我的環境很簡單:ubuntu 16.04 LTS (搭建環境前我在cpu上重裝的系統)
因為一些更新國內下載真的很慢,所以我選擇清華大學開源軟體鏡像站:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
其中涉及到很多開源軟體的鏡像,找到ubuntu,根據ubuntu鏡像使用幫助來替換原系統中的/etc/apt/sources.list文件(事先備份一下哦),因為涉及到許可權問題,所以需要在terminal中運行sudo gedit /etc/apt/sources.list來打開文件,這樣才能保存,否則無法執行修改操作。
接下來在鏡像站中 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 找到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 https://github.com/openai/gym.git (如果這裡你沒有安裝git的話,系統會提示,根據提示安裝即可:sudo apt install git)
cd gym
pip install -e .[all] (可能會提醒你更新你的pip,根據提示更新就好:pip install --upgrade pip)
到此為止gym 就安裝好了。。
可以運行下列代碼來測試是否安裝成功:
import gym
當你運行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 https://github.com/pybox2d/pybox2d.git
cd pybox2d
python setup.py clean
python setup.py install
接下來就是最後一個環節了。安裝mujoco,這裡需要提醒大家的是在安裝gym的時候mujoco-py已經安裝過了(可以通過conda list 查看,安裝方式是pip),所以不需要再按照GitHub上的提示安裝,你真正需要做的就是去mujoco官網MuJoCo下載壓縮包,根據教程推薦http://rll.berkeley.edu/deeprlcourse/f17docs/hw1fall2017.pdf 選擇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 |