本文講述了使用NVIDIA官方工具搭建基于GPU的TensorFlow平臺的教程。
?
?
《在谷歌云平臺搭建基于GPU的深度學習》
我知道,基于GPU的高端的深度學習系統構建起來非常昂貴,并且不容易獲得,除非你……
https://hackernoon.com/deep-learning-with-google-cloud-platform-66ada9d7d029
假設你有一臺帶有GPU的裸機, 當然如果有些配置是預先設置好的,可以跳過下面部分教程。此外,我還假設你有一個NVIDIA的顯卡,我們在本教程中只討論如何配置TensorFlow,也就是目前最受歡迎的深度學習框架(向谷歌致敬!)
安裝CUDA驅動程序
CUDA是NVIDIA開發的一個并行計算平臺,是搭建TensorFlow的基本前提。但是我們后面會提到,實際上最好使用逆向工作的方法,所以我們稍后再回到這部分。
安裝TensorFlow
啟動終端(如果是遠程訪問的話,就使用SSH)。總之,找到特定應用程序(如果有的話)所需的TensorFlow版本,或者如果沒有這樣的限制,可以使用我目前使用的TensorFlow 1.8.0。
pip install tensorflow-gpu==1.8.0
在TensorFlow安裝的時候,我們運行下Python shell,
python
在Python shell中輸入下面的代碼:
import tensorflow as tf
但這時我們還沒有安裝CUDA,你會看到類似下面的報錯:
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
9.0版本、文件名或者是其他的報錯,這取決于您選擇的TensorFlow版本。但是這樣做的目的是知道我們需要哪個版本的CUDA,在這個例子中是9.0。官方文檔中TF版本和CUDA版本的對應關系不是很清楚,所以我一直覺得這種逆向工程方法更好。
然后,我們再回到CUDA的安裝。使用
exit()
退出Python shell。
安裝CUDA驅動(相信我,這次是真的安裝)
轉到https://developer.nvidia.com/cuda-toolkit-archive。根據之前的操作,選擇你需要的版本:
Linux->x86_64->Ubuntu->16.04 (or 17.04)->deb (network)
下載相應的.deb文件,并按照NVIDIA的官方說明安裝CUDA。完成之后,讓我們檢查下是否一切正常。
再次打開Python shell并運行下面的代碼,
import tensorflow as tf
當然,我們還沒有完成,這次你會看到稍微不同的報錯(如果在此之前就出現了類似的報錯,參考下面的“Troubleshooting”中的修復方法)
ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
我們還需要NVIDIA提供的一個叫做cuDNN的庫,它可以使用GPU加速深度神經網絡的計算。注意,本教程中的cuDNN版本是7.0。
打開https://developer.nvidia.com/cudnn并注冊一個帳戶(免費的)。
注冊好帳號后,登錄
https://developer.nvidia.com/rdp/cudnn-archive。
選擇你需要的cuDNN版本,并確保你選擇該版本所對應的CUDA版本。在本教程中,我們需要下載以下版本,
Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0
在下拉選項中選擇,
cuDNN v7.0.5 Library for Linux
這樣,.tgz文件就開始下載了,將文件存儲到你的機器上,并使用以下命令進行提取,
tar -xzvf
最終提取出一個名為“CUDA”的文件夾,切換到該目錄,并執行下面兩條命令,
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
這樣就完成了(但愿如此)。再次啟動Python shell,這次你知道該做什么。
如果這次運行沒有報錯,那就沒問題了。
為確保TensorFlow能夠檢測到GPU,在Python shell中使用以下代碼,
tf.test.gpu_device_name()
它將會把所有可用的GPU顯示出來。如果這個命令在舊版本的TF可能運行不了,可以試試下面的命令。
nvidia-smi
問題修復
如果所有配置都正確, nvidia-smi也可以執行,但TensorFlow仍然報出相同的錯誤,那么很有可能環境變量出了問題。執行下面的命令進行修復:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
export PATH=/usr/local/cuda/lib64:${PATH}
如果 nvidia-smi命令都無法執行,CUDA沒有正確安裝,那就重新安裝配置一遍,看看有沒有什么遺漏的地方。
歡迎大家提問,建議或者批評。
祝好。
原文標題:
Setting up your GPU machine to be Deep Learning ready
原文鏈接:
https://hackernoon.com/setting-up-your-gpu-machine-to-be-deep-learning-ready-96b61a7df278
譯者簡介
陳振東,工資不高、想法不少,目前工作于北京銀行軟件開發部,負責核心系統的建設,主要方向包括客戶信息(CIF)模型、三方支付交易等,并作為主要成員參與銀行分布式與云計算平臺的搭建。熱衷于對金融數據架構與統計分析方法的研究,希望通過更多的交流拓寬工作和學習的思路。








