DQN實戰篇1 從零開始安裝Ubuntu, Cuda, Cudnn, Tensorflow, OpenAI Gym
1 前言
關注深度增強學習的知友們,大家好!之前我們專欄發布了 DQN從入門到放棄系列文章,從理論上為大家詳細分析DQN的演算法原理,至該系列文章第五篇,已經把DQN的整個演算法的來龍去脈分析清楚了。首先感謝大家的關注與支持,特別是你們的讚賞,給我們帶來了很大的鼓舞和前進的動力!接下來DQN從入門到放棄系列還會繼續在理論上分析DQN演算法的改進及拓展,直到你放棄為止[呲牙]。但是以此同時,正所謂:
Talk is cheap, show me the code!
既然是一個演算法,而且是一個牛逼的演算法,不實現實現怎麼行呢?
因此,我決定推出DQN實戰篇,算作DQN從入門到放棄系列的番外篇,從編程的角度來分享DQN的實現細節,大家也可以親自上手,體會一下實現演算法的快感!
工欲善其事,必先利其器!
既然是深度學習的範疇,沒有一台還不錯的電腦,怎麼來跑程序呢?因此,大家真正上手,很有必要配置一台還不錯的機器,至少支持GPU吧!所以,在這一篇文章中,我們來說說為了上手DQN及以後的一系列深度增強學習(Deep Reinforcement Learning)的演算法,我們如何搭建一個不錯的開發平台!
2 用於深度學習研究的主機配置
如果各位在研究深度學習並且實驗室或者公司已經給你們配置了K80這樣的頂級顯卡,那麼這部分就不用看了!
如果你是一個深度學習,特別是深度增強學習的愛好者,之前沒有好一點的主機,那麼確實是需要攢一台還可以的機器。最關鍵就是要支持GPU,支持CUDA。如果跑大一點的數據集,沒有GPU加速會讓你極其痛苦!
以我目前自己用的電腦為例,其配置如下:
用的GTX 970,1664個cuda核心,4g顯存。這樣的配置配起來大概7000多可以拿下。目前Nvidia推出了GTX 1070,貴不了多少,1920個cuda核心,8g顯存。以目前的行情,8000內拿下也沒問題。
如果你預算低的話,那就是主要把顯卡配置調低羅。如果高的話,那你隨意吧!GTX 1080或者GTX Titan X都可以考慮啦!這裡好多顯卡自己選!http://www.geforce.com/hardware/desktop-gpus
還有另外一種選擇就是使用Amazon的雲服務。不過我還是建議使用本地做小規模測試,畢竟方便,然後有需求再考慮使用雲服務。
有了機器接下來就是安裝系統了!這其實是一件非常麻煩的事情!這也是本文的主題!從零開始安裝Ubuntu, Cuda, Cudnn, Tensorflow, OpenAI Gym!
我們將使用Tensorflow作為DQN演算法實現的工具,使用OpenAI Gym作為DQN演算法的測試平台!然後全程使用Python編程!
就目前來看,Tensorflow是最好的深度學習開源框架了!個人觀點是沒有之一,而且Tensorflow大有一統深度學習框架天下的趨勢!OpenAI Gym必然是增強學習最佳的測試平台!
接下來我們將一步一步介紹以下安裝:
- Ubuntu14.04.3
- CUDA 7.5
- cudnn 4.0
- tensorflow 0.9
- OpenAI Gym
所需設備:
- 一台帶有Nvidia GPU的電腦
- 一個4g以上U盤
- 有一台安裝windows的電腦,安裝UltraISO
3 一步一步搭建開發環境
Step 1:安裝Ubuntu
Step 1.1:準備安裝U盤
首先到官網下載Ubuntu的鏡像,我使用的是Ubuntu 14.04.3的ISO。
然後使用UltraISO來將鏡像刻錄到U盤中。Step 1.1.1:啟動UltraISO,打開iso鏡像
Step 1.1.2:在菜單欄中點擊啟動選擇寫入硬碟鏡像
Step 1.1.3:格式化U盤,選擇usb-HDD+,刻錄完成後點擊便捷啟動寫入syslinux引導
經過以上幾步,安裝U盤準備完畢
Step 1.2 Ubuntu安裝
Step 1.2.1 啟動電腦,進入BIOS選擇啟動項到U盤。
Step 1.2.2 選擇Install Ubuntu進入安裝
Step 1.2.3 一路continue到選擇Erase disk and install Ubuntu,這裡我使用完全重新安裝,然後點擊Install
Step 1.2.4 中間需要設置用戶名密碼等信息。正常幾分鐘就可以安裝完畢。重啟進入系統
Step 2:安裝cuda
這裡我使用cuda7.5的deb進行安裝。
之前我嘗試過使用.run文件進行安裝。但是常常安裝完成之後重啟出現一直在登陸界面的情況。網上有很多這方面的問題,但能真正解決辦法的很難找到。因此這裡採用.deb安裝。需要注意的是,可以跳過單獨安裝Nvidia的顯卡驅動而直接安裝cuda,因為cuda裡面自帶了顯卡驅動,會自動安裝Step 2.1 到Nvidia官網下載cuda的deb安裝文件
Step 2.2 關閉與Nvidia內核不兼容的nouveau
這裡參考caffe安裝教程:https://github.com/BVLC/caffe/wiki/Install-Caffe-on-EC2-from-scratch-(Ubuntu,-CUDA-7,-cuDNN)
打開Terminal終端(Ctrl+Alt+T)
sudo edit /etc/modprobe.d/blacklist-nouveau.conf
在文件中寫入:
blacklist nouveaublacklist lbm-nouveauoptions nouveau modeset=0alias nouveau offalias lbm-nouveau off
在terminal中執行
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.confsudo update-initramfs -usudo reboot
(貌似並沒有執行conf文件,但關掉了nouveau,如果沒有關掉nouveau,會導致安裝cuda之後重啟就進入不了系統,出現 ACPI PCC probe failed的錯誤)
重啟開始安裝cudaStep 2.3 安裝build-essential
sudo apt-get updatesudo apt-get install build-essential
Step 2.4 安裝cuda
進入到cuda .deb安裝位置
sudo dpkg -i cuda-repo-ubuntu1404_local_7.5-18_amd64.debsudo apt-get updatesudo apt-get install cuda
安裝完畢之後,打開bashrc文件,將cuda路徑寫入:
gedit ~/.bashrc
在basic文件中寫入:
export PATH=$PATH:/usr/local/cuda/binexport LD_LIBRARY_PATH=:/usr/local/cuda/lib64
Step 2.5 驗證安裝
cd /usr/local/cuda/samples/1_Utilities/deviceQuerysudo makesudo ./deviceQuery
運行測試代碼,如果現在找到GPU則成功
Step 3 安裝cudnn
這部分比較簡單,首先要註冊Nvidia的開發賬號,然後才能下載cudnn。
下載下來後:
tar -zxf cudnn-7.0-linux-x64-v4.0-prod.tgzcd cudasudo cp lib64/* /usr/local/cuda/lib64/sudo cp include/cudnn.h /usr/local/cuda/include/
Step 4 更新一下系統
sudo apt-get update && sudo apt-get upgradesudo apt-get install linux-sourcesudo apt-get install linux-headers-`uname -r`
其中linux-source在前面參考教程中有安裝,因此也一併安裝,不安裝大概也可以!
Step 5: 安裝tensorflow
sudo apt-get install python-pip python-dev# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7 # Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl# Python 2sudo pip install --upgrade $TF_BINARY_URL
測試tensorflow:
$ python...>>> import tensorflow as tf>>> hello = tf.constant("Hello, TensorFlow!")>>> sess = tf.Session()>>> print(sess.run(hello))Hello, TensorFlow!>>> a = tf.constant(10)>>> b = tf.constant(32)>>> print(sess.run(a + b))42>>>
Step 6:安裝OpenAI Gym
git clone https://github.com/openai/gym cd gympip install -e . # minimal installpip install -e .[all] # all install
測試:
import gymenv = gym.make("CartPole-v0")env.reset()for _ in range(1000): env.render() env.step(env.action_space.sample()) # take a random action
4 小結
經過上面的安裝,我們就搭建好了測試DQN所需的基本環境了!對於寫代碼,我推薦Sublime Text!好啦!本篇就到這裡了!在下一篇重磅文章中,我將介紹如何用150行代碼搞定DQN!敬請期待!
引用:
[1] http://www.tensorflow.org
[2] http://www.nvidia.org
[3] http://www.ubuntu.org
[4] http://gym.openai.org
本文為原創文章,未經作者允許不得轉載!
推薦閱讀:
※大家來預測一下吳恩達三個新項目之一deeplearning.ai之後,接下來的兩個項目將會是什麼項目?
※錯過了這次影響全行業的語音智能峰會?這篇文章或許還能搶救一下 | WARE 2017
※谷歌人工智慧唇讀術完虐人類,僅憑5千小時電視節目!人類古老的技藝再次淪陷
※TensorFlow 官方文檔譯者招募
※保姆機器人被入侵變殺人機器?網路安全成共享經濟後的大風口!
TAG:深度学习DeepLearning | 人工智能 | TensorFlow |