10個深度學習軟體的安裝指南(附代碼)

2021-02-07 數據派THU

本文長度為2385字,建議閱讀4分鐘

本文為你介紹10個深度學習軟體安裝指南。


由於近期論文的需要,我搭建了一個基於 Ubuntu 和英偉達的深度學習環境。儘管已經有很多非常棒的關於英偉達驅動和 CUDA 的安裝指南, 但依然沒有詳盡的深度學習環境搭建指南。另外,我需要查閱很多文檔來熟悉細節,其中一些細節還有待完善,甚至還有一些包含語法錯誤。因此我決定把我這段時間查閱的文檔(見參考連結)做個總結。

該指南會安裝如下內容

下面顯示了每個包的依賴項。Python 深度學習庫只需安裝一個,你可以選擇一個喜歡的進行安裝。

下面是更為詳細的組件清單:

Ubuntu(v16.04.3)- 作業系統,進程管理。

英偉達顯卡驅動(v375)- 允許作業系統操作顯卡。

CUDA(v8.0)- 顯卡 c 語言庫。提供了統一不同架構的標準。

cuDNN(v6.0.21)- 基於 CUDA 的深度神經網絡庫。

pip(v9.0.1)- Python 包管理工具。

TensorFlow(v1.3)- 谷歌開發的深度學習庫。

Theano(v0.9.0)- 運行於 GPU 的數學基礎庫。

CNTK(v2.2)- 微軟搜索開發的深度學習框架。

Keras(v2.0.8)- 深度學習庫包裝層(對外提供統一調用,內部可使用不同的深度學習框架),支持 TensorFlow,Theano 和 CNTK。

PyTorch(v0.2.0)- GPU 加速運算的動態深度學習庫。


1. 安裝 Ubuntu 16.04.3


v 16.04.3 是最新的 LTS(長期支持)版本,因此我們選擇從 USB 啟動盤安裝。當按下電源鍵後進入啟動菜單選擇從 USB 啟動。

我的設備包含兩塊硬碟,1TB 的機械硬碟和 256GB 的固態硬碟。我把系統安裝在了機械硬碟上,固態硬碟用於數據存儲,這樣能提高模型訓練速度。安裝過程中我選擇了創建 3 個分區。

啟動分區(128GB):包含系統文件,程序設置和文檔。

交換分區(2 倍內存大小):對於我該分區大小 128GB。交換分區是用於擴展內存的虛擬內存。

用戶分區(剩餘):剩餘的 744GB 為用戶分區。

安裝完成後,運行以下命令升級內核。



2. 英偉達顯卡驅動

Ubuntu 安裝完成後會發現無法修改屏幕解析度。這是因為視頻屏幕數據源 GPU 沒有驅動和沒有被正確的配置。

有從 Ubuntu 倉庫和 source 兩種方式安裝驅動。第一種方式更簡單,但經常需要重新安裝。調用 sudo apt-get update 和 sudo apt-get upgrade 兩個命令會升級內核。這不會升級顯卡驅動並會造成 GUI 加載失敗。從 source 進行安裝避免了這個問題。


從包安裝 v375(更簡單)


下面命令列出了與你系統兼容的所有驅動版本。輸出會列印兩個版本數字:最新和長期支持的發行版本號。列印的版本號在輸出的最前面,向上滑動查看。


添加並安裝倉庫源。使用下面命令修改想要安裝的驅動版本號。建議修改為最新的長期支持版本 -375。


重啟電腦重新配置屏幕輸出源。

安裝完成後,顯示器應該可以識別你使用的監視器,可通過修改顯示器配置,解析度和方向來檢測驅動是否安裝成功。

從英偉達源安裝 v384.90(困難)

從英偉達官網下載最新驅動。我選擇的是:

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

以下命令為可選項,可允許編譯為 32 位架構和 GUI 開發者版本。



按下 CTRL+ALT+F1 並登陸會從 GUI 切換到終端。為了重新構建屏幕輸出源,必須暫停用戶界面。


要是上面命令不起作用,新版 Ubuntu 可使用 systemctl 替代 lightdm。然後修改 runfile 為可執行並執行。

運行時有可能會遇到 pre-install script failed 的錯誤信息。這是因為 pre-install 包含了 exit 1 命令因此該錯誤信息可以直接忽略。該命令的作用是為了確保你真的想要安裝驅動。

--dkms 選項(默認打開)用於防止內核通過安裝驅動到模塊進行更新時,該驅動會重新安裝。內核更新時,dkms 會觸發驅動重新編譯到新內核模塊棧。

如果 BIOS 沒有禁用安全啟動會導致安裝失敗。重啟電腦進入 BIOS,禁用安全啟動。

如果安裝成功,重啟 GUI。



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


認證


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


nvidia-smi確保驅動版本號正確


3. 安裝 CUDA8.0


從英偉達官網下載 CUDA 的運行文件。如下選擇:

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

切換目錄到.deb 文件,使用以下命令解包、更新包列表並安裝 CUDA。



添加該庫到 bash 路徑以便其他應用也能找到。


輸入 nvcc -V 命令確保英偉達 c 編譯器版本和 CUDA 版本匹配。

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


可選:檢測 CUDA 安裝


可通過運行例子來檢測安裝是否成功。下面命令創建一個 test_CUDA 文件夾用於存儲示例。

在子文件夾 NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL 下包含一個 findgllib.mk 文件。文件的第 61 行,30 列是硬編碼的英偉達驅動版本號 367,該版本號需要修改為之前安裝的版本號。

編譯示例

cd ../.. && make

現在可以在 NVIDIA_CUDA-8.0_Samples 中運行你的核心內容。NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release 路徑下有兩個非常有用的腳本。./deviceQuery 可列印出 GPU 信息,./bandwidthTest 可列印出帶寬。

參考連結:英偉達 CUDA 安裝手冊

4. 安裝 cuDNN6.0.21

在英偉達官網,選中同意條款註冊成為開發者。為匹配 CUDA8.0,在 cuDNN v6.0.21 下拉菜單中下載:

針對 Ubuntu16.04 的 cuDNN v6.0 運行時庫(Deb)

針對 Ubuntu16.04 的 cuDNN v6.0 開發者庫(Deb)

針對 Ubuntu16.04 的 cuDNN v6.0 代碼示例和用戶指南(Deb)

.deb 可以純淨安裝,相較.tar 來說是更好的選擇。使用下面命令會安裝三個包:



測試 cuDNN

拷貝已安裝的示例代碼到可讀文件夾下,編譯並運行 mnistCNN。

運行正常腳本會返回 Test passed!

卸載 cudnn

下面命令可以卸載安裝好的三個包。另外,如果創建過示例,記得運行 rm -r ~/cudnn_samples_v6。

參考連結:cuDNN 安裝指南


5. 安裝 pip9.0.1

Pip 更新非常頻繁,基本每兩周就會更新一次。建議使用最新版本。

下面命令用來安裝 pip 和更新到最新版本。


為確保是最新版本,運行 pip -V 來檢查版本號。


6. 安裝 Tensorflow1.3.0

pip install tensorflow-gpu

為驗證是否安裝成功,使用 $python 開啟 python,運行以下腳本確保輸出列印 Hello, TensorFlow!

參考連結:Ubuntu 上如何安裝 tensorflow


7. 安裝 Theano 0.10

Theano 需要下面系統依賴


和 Python 依賴。

libgpuarray 允許 Theano 使用 GPU,libgpuarray 只能從源碼編譯。首先 下載源碼

編譯到指定文件夾 Build 下。

然後編譯到 python 包中

添加下面命令到~/.bashrc 中以便 python 能夠找到該庫。

最後安裝 Theano


驗證是否安裝成功,創建一個 test_theano.py 文件,將內容拷貝至該文件。確保 THEANO_FLAGS=device=cuda0 python test_theano.py 命令運行成功並輸出 Used the gpu。

參考連結:Theano 0.9.0 文檔


8. 安裝 CNTK2.2


驗證是否安裝成功,運行 python -c "import cntk; print(cntk.version)"查看是否列印 2.2。

參考連結:如何配置 CNTK


sudo pip install keras

從 $python 環境運行 import keras 驗證是否安裝成功。

參考連結:Keras 安裝


10. 安裝RyTorch0.2.0

PyTorch 依賴兩個庫 torchvision 和 torch。

安裝成功後下面腳本應該列印出一個隨機的浮點數。

參考連結:PyTorch 主頁


總結

整個安裝過程最困難的部分是找出英偉達驅動和深度學習庫之間的依賴項和找到最有效的長期支持安裝教程。最簡單的部分是安裝文檔更新活躍且詳細的 Python 包。

儘管閱讀文檔瀏覽源碼很費時間,但了解每個包的作用和如何構建對了解整個 Ubuntu 生態是很有幫助的。

最後,感謝您的閱讀!

原文連結:

https://medium.com/@dyth/deep-learning-software-installation-guide-d0a263714b2

編輯:王璇

相關焦點

  • 手把手教你安裝深度學習軟體環境(附代碼)
    本文向你解釋如何在一臺新裝的 Ubuntu 機器上安裝 Python 和 Nvidia 硬體驅動、各類庫和軟體包。為了進行強化學習研究,我最近購置了一臺基於 Ubuntu 和英偉達 GPU 的深度學習機器。儘管目前在網絡中能找到一些環境部署指南,但目前仍然沒有全面的安裝說明。另外,我也不得不閱讀了很多文檔來試圖理解安裝細節——其中的一些並不完整,甚至包含語法錯誤。
  • 深度學習軟體安裝指南
    儘管已經有很多非常棒的關於英偉達驅動和 CUDA 的安裝指南, 但依然沒有詳盡的深度學習環境搭建指南。另外,我需要查閱很多文檔來熟悉細節,其中一些細節還有待完善,甚至還有一些包含語法錯誤。因此我決定把我這段時間查閱的文檔(見參考連結)做個總結。該指南會安裝如下內容下面顯示了每個包的依賴項。Python 深度學習庫只需安裝一個,你可以選擇一個喜歡的進行安裝。
  • 從零開始:深度學習軟體環境安裝指南
    本文將向你解釋如何在一臺新裝的 Ubuntu 機器上安裝 Python 和 Nvidia 硬體驅動、各類庫和軟體包。為了進行強化學習研究,我最近購置了一臺基於 Ubuntu 和英偉達 GPU 的深度學習機器。儘管目前在網絡中能找到一些環境部署指南,但目前仍然沒有全面的安裝說明。
  • 深度 從硬體配置到軟體安裝,一臺深度學習機器的配備指南
    ,他同時也運營著自己的面向客戶的深度學習產品。對於用於生產的研究和開發,高速硬體是必需的,而 GPU 通常是我們所面臨的主要瓶頸,尤其對於深度神經網絡(DNN)更是如此。是的,確實是這樣:亞馬遜這樣的雲提供商以低於每小時 1 美元的價格出售可以執行 GPU 計算的實例和可以導出、共享和重複使用的可以直接進行生產的虛擬機。如果你常常從頭開始安裝庫,你可能知道軟體和硬體庫都可以使用定期更新的安裝腳本或 dockerized 容器輕鬆地完成安裝。
  • 從硬體配置到軟體安裝,一臺深度學習機器的配備指南
    為了做到這一點,我決定自己使用 GPU 設計和打造自己的量身定製的深度學習系統。在這一些方面這比我想像的簡單,但另一些方面卻更困難。在接下來的文章中,我會和你分享我的『冒險之旅』,不關你是深度學習實踐的新手還是老手,希望這都對你有用。」目前該系列文章已經更新了兩篇,機器之心將其統一編譯到了這篇文章中。
  • Keras 教程: Python 深度學習終極入門指南
    開始之前, 請注意, 本指南是面向對應用深度學習感興趣的初學者的.我們旨在向你介紹一個最流行的同時也是功能最強大的, 用於建立神經網絡的 Python 庫. 這意味著我們將跳過許多理論與數學知識, 但我們還是會向你推薦一些學習這些的極好的資源.
  • 深度學習自救指南(一)| Anaconda、PyTorch的下載和安裝
    在我們進行深度學習的過程中,離不開Anaconda環境和PyTorch深度學習框架。
  • 文本分類實戰--從TFIDF到深度學習CNN系列效果對比(附代碼)
    此外還有幾個地方可以調節:    特徵詞維度的選擇,即上面代碼feature_select_use_new_CHI()函數中每個類別選擇多少個特徵詞,取值範圍在100-500    特徵權重的計算方式,即上面代碼document_features()函數中對每個特徵詞的權重計算方式,我們可以認為只要出現就記為1,否則為零;或者使用其在該文本中出現次數作為權重;或者使用TF-IDF
  • Adobe Acrobat XI Pro(PDF編輯軟體)安裝教程(附軟體安裝包)
    安裝該軟體後你就可以在電腦上直接編輯、修改PDF文件(添加或刪除頁眉、頁腳、水印、背景等),除此之外,運用該軟體還可以進行多個PDF文件的合併與提取或刪除PDF文件中的某些頁面等,還能給文件加密,將PDF文件導出成word、PPT等格式,還可將圖片轉化成PDF格式等,還能對批量的PDF文件進行處理。安裝該軟體還自帶虛擬印表機功能可以將任何界面列印成PDF文件保存起來。
  • 帶你用深度學習虛擬機進行文本遷移學習(附代碼)
    通過這些例子,基於深度學習的MRC模型學習理解問題並從文章中推斷出答案,其中涉及推理和推理的多個步驟。對於MRC轉移學習,我們有6個模型,如圖1所示。 MRC微調 儘管使用MRC遷移學習有了很大的進展,但直到最近,人們才開始重視一個被忽視很久的關鍵問題- 如何為非常小的領域構建MRC系統?
  • 分享《深度學習入門:基於Python的理論與實現》高清中文版PDF+原始碼
    《深度學習入門:基於Python的理論與實現》本書是深度學習真正意義上的入門書,深入淺出地剖析了深度學習的原理和相關技術。書中使用Python3,儘量不依賴外部庫或工具,從基本的數學知識出發,帶領讀者從零創建一個經典的深度學習網絡,使讀者在此過程中逐步理解深度學習。
  • 手把手教 | 深度學習庫PyTorch(附代碼)
    注意:本文假定你對深度學習有基本的認知。這一點正好符合Python的編程方法學,因為我們沒必要等到代碼全部寫完才知道它是否能運行。我們可以輕鬆地運行一部分代碼並實時檢查它。對於我這樣的神經網絡調試人員而言,這真是一件幸事。 PyTorch是一個基於python的庫,它旨在提供一個靈活的深度學習開發平臺。PyTorch的工作流程儘可能接近Python的科學計算庫--- numpy。
  • 軟體|AI軟體安裝教學「內附軟體全版本安裝包」
    前言此軟體由我匯總免費分享給大家,「僅限大家學習交流,不能用於商業用途」;因為最近留言要AI安裝包的小夥伴比較多,我就先匯總所有版本的AI軟體安裝包+安裝教學+軟體操作教學。一條龍全套服務就問你香不香,喜歡文章內容的可以分享給有需要的人,其他軟體後期更新。
  • 《概率深度學習:使用Python,Keras和TensorFlow概率》附下載
    文末附PDF及原始碼等資料下載連結Probabilistic Deep Learning: With Python,
  • 這六段代碼隱藏著深度學習的前世今生!
    雷鋒網AI科技評論按:本文作者Emil Wallner用六段代碼解釋了深度學習的前世今生,這六段代碼覆蓋了深度學習幾十年來的重大創新和突破,作者將所有代碼示例都上傳了FloydHub 和 GitHub,想要在FloydHub上運行代碼示例的讀者,請確保已經安裝了floyd command line tool,並將作者提供的代碼示例拷貝到本地。
  • MIT 深度學習基礎教程:七個基本框架TensorFlow代碼實戰
    【導讀】麻省理工學院發布一系列深度學習視頻課和代碼實戰,今天給大家介紹的是研究科學家Lex Fridman整理的常用的深度學習七個基本框架實戰,
  • 深度學習環境搭建
    如果要學習如何在Linux作業系統中下載和安裝CUDA9.0、cudnn7.3、tensorflow_gpu1.10,請瀏覽本文作者的另外一篇文章《在谷歌雲伺服器上搭建深度學習平臺》,連結:https://www.jianshu.com/p/893d622d1b5a《在谷歌雲伺服器上搭建深度學習平臺》這篇文章中有部分內容是如何建立和連接雲虛擬機,這部分內容對於擁有Linux主機的讀者是無用的
  • Python安裝TensorFlow 2、tf.keras和深度學習模型的定義
    p=15826 深度學習的預測建模是現代開發人員需要了解的一項技能。TensorFlow是Google開發和維護的首要的開源深度學習框架。儘管直接使用TensorFlow可能具有挑戰性,但現代的tf.keras API使得Keras在TensorFlow項目中的使用簡單易用。使用tf.keras,您可以設計,擬合,評估和使用深度學習模型,從而僅用幾行代碼即可做出預測。
  • 效率工具 | 一款基於深度學習的代碼自動補全神器
    代碼補全在開發過程中起著至關重要的作用,而隨著深度學習的熱潮,有開發者開始考慮把深度學習引入開發工具中,之前我介紹了一款基於人工智慧的補全工具Kite
  • 分布式深度學習最佳入門(踩坑)指南
    佔據了深度學習框架領域的主導地位。(開個玩笑,paddle並不是讓你上班划水,而是划龍舟,眾人拾柴火焰高) paddle其支持數據並行和模型並行,作為較早一批的國產深度學習框架,其文檔、模型庫等也較為完善,paddle框架也支撐了各種深度學習模型在百度各種業務領域及場景下的應用