為了進行強化學習研究,我最近購置了一臺基于 Ubuntu 和英偉達 GPU 的深度學習機器。盡管目前在網(wǎng)絡中能找到一些環(huán)境部署指南,但目前仍然沒有全面的安裝說明。另外,我也不得不閱讀了很多文檔來試圖理解安裝細節(jié)——其中的一些并不完整,甚至包含語法錯誤。因此,本文試圖解決這個問題,提供一個詳盡的軟件環(huán)境安裝指南。 本文將指導你安裝
這些軟件之間的互相依賴關系如下圖所示。其中,你只需要安裝一種深度學習庫,請自由選擇。 深度學習軟件安裝和依賴示意圖 以下是各個軟件的細節(jié)介紹:
1. 安裝 Ubuntu 16.04.3 v 16.04.3 可由 USB 啟動的方式安裝,它是最新的 LTS(長期支持)版本。首次在電腦上啟用時,請在 BIOS 中選擇由 USB 引導啟動。 我的電腦中有兩塊硬盤——一塊 1TB 的 SATA 和一塊 256GB 的 SSD。在我的設想中,Ubuntu 被安裝在常規(guī)硬盤中,固態(tài)硬盤(SSD)用于處理數(shù)據(jù)集和加速訓練。在安裝過程中,在屏幕中的 Installation Type 中選擇 Something else,隨后我們要進行三個分區(qū)操作:
在安裝后,最好先運行以下命令來升級內核版本。
Reference:https://tutorials./tutorial/tutorial-install-ubuntu-desktop#0 2. 安裝英偉達 GPU 驅動 在安裝完 Ubuntu 后,你可能會發(fā)現(xiàn)屏幕的分辨率不對,而且不能修改,這是因為現(xiàn)在還沒有安裝 GPU 驅動。 安裝驅動有兩種方法:從 Ubuntu 資源庫和數(shù)據(jù)源。第一個方法更加容易,但需要頻繁的重新安裝。使用 sudo apt-get update 和 sudo apt-get upgrade 指令后,系統(tǒng)的內核可以自動升級。但這樣并不會更新英偉達驅動,可能會導致 GUI 無法正確加載。從數(shù)據(jù)源安裝可以避免這個問題。 從安裝包里安裝 v375 驅動(簡單的方法) 以下命令會將與你系統(tǒng)相兼容的驅動版本顯示出來,它會提供兩個版本號:最新的不穩(wěn)定版和長期穩(wěn)定版。版本號會從頭列起,所以你需要把頁面滾到最上面。
添加并安裝資源庫。通過第二個命令,改變你想要安裝的
重啟計算機以重新配置視頻輸出。
要測試驅動程序是否工作,Screen Display(SUPERKEY,屏幕顯示類型)現(xiàn)在應該可以識別你使用的顯示器了,你可以修改設置、分辨率與方向。 Reference:https:///~graphics-drivers/+archive/ubuntu/ppa 從英偉達網(wǎng)站安裝 v384.90(較難的方法) 從英偉達網(wǎng)站下載最新的驅動程序版本?;谟布渲?,我選擇的選項是: GeForce -> GeForce 10 Series -> GeForce GTX 1080 -> Linux 64 bit -> English (UK) 可選條件:編譯到 32 位架構和 GUI 的開發(fā)版本。
按 CTRL + ALT + F1 鍵登錄,從 GUI 轉至終端。為了重建視頻輸出,必須先將其暫停。
如果命令行沒有效果,Ubuntu 新版本使用 systemctl 替換 lightdm。然后使 runfile 可執(zhí)行,并運行它。
運行時,你可能會收到一條 pre-install script failed 信息。這沒什么影響,因為預安裝腳本包含命令 exit 1,其目標是確保你真的想安裝驅動程序。 選項--dkms(默認開啟)在 kernel 自行更新時將驅動程序安裝至模塊中,從而阻止驅動程序重新安裝。在 kernel 更新期間,dkms 觸發(fā)驅動程序重編譯至新的 kernel 模塊堆棧。 如果安裝失敗,則原因在于計算機的 BIOS 未關閉 Secure Boot。重啟電腦,在 BIOS 選項中關閉 Secure Boot。 如果安裝成功,則可以重啟 GUI。
卸載:sudo ./NVIDIA-Linux-x86_64-384.90.run --uninstall 驗證 確保以下命令能夠識別正確的 GPU 版本
確保驅動程序版本號與你安裝的一致
3. 安裝 CUDA 8.0 從英偉達網(wǎng)站,使用下列系統(tǒng)屬性下載 CUDA 的 runfile(地址:https://developer./cuda-downloads)。 Linux -> x86_64 -> Ubuntu -> 16.04 -> .deb(network) 導航至.deb 文件的位置后,將該文件解壓縮,更新軟件包列表,使用下列命令安裝 CUDA。
將庫添加至 bash path,這樣就可以使用其他應用找到庫了。
驗證時,使用 nvcc -V 確保 Nvidia C Compiler(nvcc)版本與 CUDA 的版本匹配。 重啟電腦 sudo shutdown -r now,完成安裝。 可選操作:測試 CUDA 安裝 測試安裝的一個方法是運行一些示例。以下命令行創(chuàng)建了一個存儲示例程序的 test_CUDA 目錄。
子目錄 NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL 中是 findgllib.mk 文件。該文件的第 61 行 30 列包含了英偉達驅動程序的硬編碼值,該值應從 367 更改成你安裝的驅動程序版本號。 編譯示例
你現(xiàn)在可以在 NVIDIA_CUDA-8.0_Samples 內隨意運行示例。你可以在 NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release 中找到兩個非常有用的腳本:./deviceQuery 可以在使用過程中打印 GPU,./bandwidthTest 可以打印它的帶寬。 Reference:http://docs./cuda/cuda-installation-guide-linux/index.html 4. 安裝 cuDNN 6.0.21 在英偉達網(wǎng)站上注冊開發(fā)者項目,同意條款。從下拉菜單中選擇 cuDNN v6.0.21 (April 27, 2017), for CUDA 8.0,并下載:
.deb 優(yōu)先于.tar,因為.deb 格式更適用于 Ubuntu,可以進行更純凈的安裝。使用下列命令安裝這三個包:
測試 cuDNN 將已安裝的示例復制到可讀目錄,然后編譯并運行 mnistCNN。
如果一切順利,腳本應該會返回一條 Test passed! 消息。 卸載 cudnn 使用以下命令卸載三個庫。另外,如果你已經(jīng)創(chuàng)建了樣本,那么再加上 rm -r ~/cudnn_samples_v6。
Reference:cuDNN Installation Guide cuDNN Installation Guide(http://docs./deeplearning/sdk/cudnn-install/index.html) 5. 安裝 pip 9.0.1 Pip 的升級非常頻繁,幾乎每兩周一次,建議使用最新版本的 pip。 請使用以下命令安裝和升級最新版本的 pip。
驗證:請確保鍵入 pip -V 后可以打印出版本號。 6. 安裝 Tensorflow 1.3.0
驗證:啟動$ python,確認是否以下腳本能夠打印出 Hello, Tensorflow!
Reference:https://www./install/install_linux 7. 安裝 Theano 0.10 Theano 需要的系統(tǒng)環(huán)境:
此外還要遵循 Python 的系統(tǒng)需求。
libgpuarray 可以讓 Theano 使用 GPU,它必須從源編譯。首先下載源代碼
將其編譯為一個名為 Build 的文件夾。
隨后將其編譯成一個 Python 包。
將下面一行添加至 ~/.bashrc,這樣 Python 就可以找到庫了。
最后,安裝 Theano
驗證:創(chuàng)建測試文件 test_theano.py,其中的內容復制自:http:///software/theano/tutorial/using_gpu.html#testing-theano-with-GPU 隨后看看 THEANO_FLAGS=device=cuda0 python test_theano.py 在使用了 GPU 之后是否成功。 Reference: Theano 0.9.0 documentation(http:///software/theano/install_ubuntu.html) 8. 安裝 CNTK 2.2
驗證:輸入 python -c 'import cntk; print(cntk.__version__)',輸出 2.2。 Reference: Setup CNTK on your machine(https://docs.microsoft.com/en-us/cognitive-toolkit/setup-cntk-on-your-machine) 9. 安裝 Keras 2.0.8
驗證:檢查$ python 中的 import keras 是否成功。 Reference: Keras Installation(https:///#installation) 10. 安裝 PyTorch 0.2.0 PyTorch 運行在兩個庫上: torchvision 和 torch,我們需要這樣安裝:
驗證:以下腳本能夠打印出一個帶有隨機初始浮點數(shù)的張量。
Reference: http://pytorch.org/ 結論 目前為止,整個過程中最難的部分是找出 Nvidia 驅動和深度學習包之間的依賴關系,以及最有效的長期安裝過程。而最簡單的部分是安裝 Python,安裝包和文檔都得到了良好的維護。 雖然閱讀文檔和源代碼都非常耗費時間,但了解每個軟件包的構建和功能是非常具有啟發(fā)性的,它也可以幫助我們理解整個 Ubuntu 生態(tài)系統(tǒng)。 希望本文對你有所幫助。 原文鏈接:https:///@dyth/deep-learning-software-installation-guide-d0a263714b2 |
|
來自: taotao_2016 > 《計算機》