久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    從零開始:深度學習軟件環境安裝指南

     taotao_2016 2017-10-02


    在搭建深度學習機器之后,我們下一步要做的就是構建完整的開發環境了。本文將向你解釋如何在一臺新裝的 Ubuntu 機器上安裝 Python 和 Nvidia 硬件驅動、各類庫和軟件包。


    為了進行強化學習研究,我最近購置了一臺基于 Ubuntu 和英偉達 GPU 的深度學習機器。盡管目前在網絡中能找到一些環境部署指南,但目前仍然沒有全面的安裝說明。另外,我也不得不閱讀了很多文檔來試圖理解安裝細節——其中的一些并不完整,甚至包含語法錯誤。因此,本文試圖解決這個問題,提供一個詳盡的軟件環境安裝指南。


    本文將指導你安裝


    • 操作系統(Ubuntu)

    • 4 種驅動和庫(GPU 驅動、CUDA、cuDNN 和 pip)

    • 5 種 Python 深度學習庫(TensorFlow、Theano、CNTK、Keras 和 PyTorch)


    這些軟件之間的互相依賴關系如下圖所示。其中,你只需要安裝一種深度學習庫,請自由選擇。


    深度學習軟件安裝和依賴示意圖


    以下是各個軟件的細節介紹:


    1. Ubuntu(v16.04.3)——操作系統,各種任務處理。

    2. Nvidia GPU 驅動(v375)——允許系統獲得 GPU 帶來的加速。

    3. CUDA(v8.0)——GPU C 語言庫?!赣嬎阃辉O備架構」。

    4. cuDNN(v6.0.21)——基于 CUDA 的深度學習基元庫。「CUDA 深度學習庫」。

    5. pip(v9.0.1)——Python 安裝包。「Pip 安裝包」。

    6. TensorFlow(v1.3)——谷歌開發的深度學習框架。

    7. Theano(v0.9.0)——此前由 MILA 負責維護的深度學習框架。

    8. CNTK(v2.2)——微軟研究院開發的深度學習框架。

    9. Keras(v2.0.8)——深度學習包裝可互換后端。可與 TensorFlow、Theano 和 CNTK 共同使用。

    10. PyTorch(v0.2.0)——可被 GPU 加速的動態圖深度學習框架,主要由 Facebook 的研究人員負責開發。


    1. 安裝 Ubuntu 16.04.3


    v 16.04.3 可由 USB 啟動的方式安裝,它是最新的 LTS(長期支持)版本。首次在電腦上啟用時,請在 BIOS 中選擇由 USB 引導啟動。


    我的電腦中有兩塊硬盤——一塊 1TB 的 SATA 和一塊 256GB 的 SSD。在我的設想中,Ubuntu 被安裝在常規硬盤中,固態硬盤(SSD)用于處理數據集和加速訓練。在安裝過程中,在屏幕中的 Installation Type 中選擇 Something else,隨后我們要進行三個分區操作:


    • 引導分區(128GB):包含系統文件、程序設置和文檔。

    • 交換分區(2 倍的內存大小):對于我來說這就是 128GB。這塊分區的容量用于擴展 Kernel RAM 作為虛擬內存使用。

    • 用戶分區(剩下的部分):1TB 的硬盤剩下的空間大約還有 744GB。


    在安裝后,最好先運行以下命令來升級內核版本。


    1. sudo apt-get update

    2. sudo apt-get upgrade


    Reference:https://tutorials./tutorial/tutorial-install-ubuntu-desktop#0


    2. 安裝英偉達 GPU 驅動


    在安裝完 Ubuntu 后,你可能會發現屏幕的分辨率不對,而且不能修改,這是因為現在還沒有安裝 GPU 驅動。


    安裝驅動有兩種方法:從 Ubuntu 資源庫和數據源。第一個方法更加容易,但需要頻繁的重新安裝。使用 sudo apt-get update 和 sudo apt-get upgrade 指令后,系統的內核可以自動升級。但這樣并不會更新英偉達驅動,可能會導致 GUI 無法正確加載。從數據源安裝可以避免這個問題。


    從安裝包里安裝 v375 驅動(簡單的方法)


    以下命令會將與你系統相兼容的驅動版本顯示出來,它會提供兩個版本號:最新的不穩定版和長期穩定版。版本號會從頭列起,所以你需要把頁面滾到最上面。


    1. sudo add-apt-repository ppa:graphics-drivers/ppa


    添加并安裝資源庫。通過第二個命令,改變你想要安裝的。我們在這里推薦安裝最新的長期穩定版本——375 版。


    1. sudo apt-get update

    2. sudo apt-get install nvidia-driver_number>


    重啟計算機以重新配置視頻輸出。


    1. sudo shutdown -r now


    要測試驅動程序是否工作,Screen Display(SUPERKEY,屏幕顯示類型)現在應該可以識別你使用的顯示器了,你可以修改設置、分辨率與方向。


    Reference:https:///~graphics-drivers/+archive/ubuntu/ppa


    從英偉達網站安裝 v384.90(較難的方法)


    從英偉達網站下載最新的驅動程序版本?;谟布渲?,我選擇的選項是:


    GeForce -> GeForce 10 Series -> GeForce GTX 1080 -> Linux 64 bit -> English (UK)


    可選條件:編譯到 32 位架構和 GUI 的開發版本。


    1. sudo apt-get install gcc-multilib xorg-dev


    按 CTRL + ALT + F1 鍵登錄,從 GUI 轉至終端。為了重建視頻輸出,必須先將其暫停。


    1. sudo service lightdm stop


    如果命令行沒有效果,Ubuntu 新版本使用 systemctl 替換 lightdm。然后使 runfile 可執行,并運行它。


    1. cd download location>

    2. chmod +x NVIDIA-Linux-x86_64-384.90.run

    3. sudo ./NVIDIA-Linux-x86_64-384.90.run --dkms


    運行時,你可能會收到一條 pre-install script failed 信息。這沒什么影響,因為預安裝腳本包含命令 exit 1,其目標是確保你真的想安裝驅動程序。


    選項--dkms(默認開啟)在 kernel 自行更新時將驅動程序安裝至模塊中,從而阻止驅動程序重新安裝。在 kernel 更新期間,dkms 觸發驅動程序重編譯至新的 kernel 模塊堆棧。


    如果安裝失敗,則原因在于計算機的 BIOS 未關閉 Secure Boot。重啟電腦,在 BIOS 選項中關閉 Secure Boot。


    如果安裝成功,則可以重啟 GUI。


    1. sudo service lightdm start


    卸載:sudo ./NVIDIA-Linux-x86_64-384.90.run --uninstall


    驗證


    確保以下命令能夠識別正確的 GPU 版本


    1. nvidia-smi


    確保驅動程序版本號與你安裝的一致


    1. cat /proc/driver/nvidia/version


    3. 安裝 CUDA 8.0


    從英偉達網站,使用下列系統屬性下載 CUDA 的 runfile(地址:https://developer./cuda-downloads)。


    Linux -> x86_64 -> Ubuntu -> 16.04 -> .deb(network)


    導航至.deb 文件的位置后,將該文件解壓縮,更新軟件包列表,使用下列命令安裝 CUDA。


    1. sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb

    2. sudo apt-get update

    3. sudo apt-get install cuda


    將庫添加至 bash path,這樣就可以使用其他應用找到庫了。


    1. echo 'export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}' >> ~/.bashrc

    2. echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc

    3. source ~/.bashrc


    驗證時,使用 nvcc -V 確保 Nvidia C Compiler(nvcc)版本與 CUDA 的版本匹配。


    重啟電腦 sudo shutdown -r now,完成安裝。


    可選操作:測試 CUDA 安裝


    測試安裝的一個方法是運行一些示例。以下命令行創建了一個存儲示例程序的 test_CUDA 目錄。


    1. mkdir test_CUDA

    2. cd test_CUDA

    3. ./cuda-install-samples-8.0.sh .


    子目錄 NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL 中是 findgllib.mk 文件。該文件的第 61 行 30 列包含了英偉達驅動程序的硬編碼值,該值應從 367 更改成你安裝的驅動程序版本號。


    編譯示例


    1. cd ../.. && make


    你現在可以在 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


    在英偉達網站上注冊開發者項目,同意條款。從下拉菜單中選擇 cuDNN v6.0.21 (April 27, 2017), for CUDA 8.0,并下載:


    1. cuDNN v6.0 Runtime Library for Ubuntu16.04 (Deb)

    2. cuDNN v6.0 Developer Library for Ubuntu16.04 (Deb)

    3. cuDNN v6.0 Code Samples and User Guide for Ubuntu16.04 (Deb)


    .deb 優先于.tar,因為.deb 格式更適用于 Ubuntu,可以進行更純凈的安裝。使用下列命令安裝這三個包:


    1. sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb

    2. sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb

    3. sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb


    測試 cuDNN


    將已安裝的示例復制到可讀目錄,然后編譯并運行 mnistCNN。


    1. cp -r /usr/src/cudnn_samples_v6/ $HOME

    2. cd $HOME/cudnn_samples_v6/mnistCUDNN

    3. make clean && make

    4. ./mnistCUDNN


    如果一切順利,腳本應該會返回一條 Test passed! 消息。


    卸載 cudnn


    使用以下命令卸載三個庫。另外,如果你已經創建了樣本,那么再加上 rm -r ~/cudnn_samples_v6。


    1. sudo apt-get remove libcudnn6

    2. sudo apt-get remove libcudnn6-dev

    3. sudo apt-get remove libcudnn6-doc


    Reference:cuDNN Installation Guide cuDNN Installation Guide(http://docs./deeplearning/sdk/cudnn-install/index.html)


    5. 安裝 pip 9.0.1


    Pip 的升級非常頻繁,幾乎每兩周一次,建議使用最新版本的 pip。


    請使用以下命令安裝和升級最新版本的 pip。


    1. sudo apt-get install python-pip python-dev

    2. sudo pip install --upgrade pip


    驗證:請確保鍵入 pip -V 后可以打印出版本號。


    6. 安裝 Tensorflow 1.3.0


    1. pip install tensorflow-gpu


    驗證:啟動$ python,確認是否以下腳本能夠打印出 Hello, Tensorflow!


    1. import tensorflow as tf

    2. hello = tf.constant('Hello, TensorFlow!')

    3. sess = tf.Session()

    4. print(sess.run(hello))


    Reference:https://www./install/install_linux


    7. 安裝 Theano 0.10


    Theano 需要的系統環境:


    1. sudo apt-get install libopenblas-dev cmake git


    此外還要遵循 Python 的系統需求。


    1. sudo pip install numpy scipy nose sphinx pydot-ng pycuda scikit-cuda cython


    libgpuarray 可以讓 Theano 使用 GPU,它必須從源編譯。首先下載源代碼


    1. git clone https://github.com/Theano/libgpuarray.git

    2. cd libgpuarray


    將其編譯為一個名為 Build 的文件夾。


    1. mkdir Build

    2. cd Build

    3. cmake .. -DCMAKE_BUILD_TYPE=Release

    4. make

    5. sudo make install


    隨后將其編譯成一個 Python 包。


    1. cd ..

    2. python setup.py build

    3. sudo python setup.py install


    將下面一行添加至 ~/.bashrc,這樣 Python 就可以找到庫了。


    1. export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH


    最后,安裝 Theano


    1. sudo pip install git+https://github.com/Theano/Theano.git#egg=Theano


    驗證:創建測試文件 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


    1. sudo pip install https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp27-cp27mu-linux_x86_64.whl


    驗證:輸入 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


    1. sudo pip install keras


    驗證:檢查$ python 中的 import keras 是否成功。


    Reference: Keras Installation(https:///#installation)


    10. 安裝 PyTorch 0.2.0


    PyTorch 運行在兩個庫上: torchvision 和 torch,我們需要這樣安裝:


    1. sudo pip install http://download.pytorch.org/whl/cu80/torch-

    2. 0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl

    3. sudo pip install torchvision


    驗證:以下腳本能夠打印出一個帶有隨機初始浮點數的張量。


    1. from __future__ import print_function

    2. import torch

    3. x = torch.Tensor(5, 3)

    4. print(x)


    Reference: http://pytorch.org/


    結論


    目前為止,整個過程中最難的部分是找出 Nvidia 驅動和深度學習包之間的依賴關系,以及最有效的長期安裝過程。而最簡單的部分是安裝 Python,安裝包和文檔都得到了良好的維護。


    雖然閱讀文檔和源代碼都非常耗費時間,但了解每個軟件包的構建和功能是非常具有啟發性的,它也可以幫助我們理解整個 Ubuntu 生態系統。


    希望本文對你有所幫助。 


    原文鏈接:https:///@dyth/deep-learning-software-installation-guide-d0a263714b2

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 美女禁区a级全片免费观看| 国产精品亚洲一区二区无码| 国产微拍精品一区二区| 亚洲av永久无码精品漫画| 野外做受三级视频| 饥渴的少妇2中文字幕| 国产稚嫩高中生呻吟激情在线视频| 高清不卡一区二区三区| 福利一区二区在线观看| 蜜桃臀无码AV在线观看| 东方四虎av在线观看| 日韩精品卡2卡3卡4卡5| 亚洲第一精品一二三区| 影音先锋女人AA鲁色资源 | 久久SE精品一区精品二区| 久久精品国产亚洲AV无码偷窥| 无码激情亚洲一区| 国产精品一区二区手机在线观看| 国产小受被做到哭咬床单GV| 国产成人8X人网站视频| 亚洲精品国产免费av| 乱妇乱女熟妇熟女网站| 久久中文字幕一区二区| 九九久久精品国产免费看小说| 亚洲熟妇精品一区二区| 美女黄18以下禁止观看 | 国产精品无码无卡在线播放| 国产亚洲精品VA片在线播放| 亚洲人成无码网站18禁| 无遮挡免费高清羞羞视频| 福利一区二区在线观看| 国产白嫩护士被弄高潮 | 十八禁午夜福利免费网站| 97人人添人人澡人人澡人人澡| 国产JJIZZ女人多水喷水| 国产精品午夜福利视频| 欧美黑人又粗又大高潮喷水| 国产成人欧美日本在线观看| 国产亚洲精品AA片在线播放天| 伊人无码一区二区三区| 99精品人妻少妇一区二区|