第六周、機器學習-安裝GPU版TensorFlow

1.確定自己電腦上的NVIDIA顯卡型號

查看nvidia芯片信息:lspci |grep -i nvidia,會打印出nvidia系列的硬件信息

本人電腦顯示:

~$ lspci |grep -i nvidia

08:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1)

2.安裝NVIDIA最新顯卡驅動

官網輸入自己的顯卡型號,本人的是GeForce GT 740M,Linux 64-bit。然后點擊搜索,進入確認頁面,點擊下載。

先同時按下Ctrl+Alt+F1, 進入命令行頁面, 輸入用戶名和密碼登錄。

首先關閉X Server(圖形界面):

sudo/etc/init.d/lightdm stop

然后運行剛才下載的NVIDIA.run, 進行安裝:

sudo sh NVIDIA.run ? # 注意進入~/Download/目錄下安裝

安裝中, 會遇到"The distribution-provided pre-instrall script failed", 可以無視, 繼續安裝. 但會出現關于Neuveau的問題, 好在NVIDIA會幫你把Neuveau給加到blacklist中, 只需要同意這么做就好, 但此次安裝會失敗, 退出, 這時需要輸入:

sudo update -initramfs -u

然后鍵入reboot, 重啟計算機。

?按Ctrl+Alt+F1進入命令行, 管理員登入, 關閉X Server, 然后安裝NVIDIA驅動, 過程中會說NVIDIA會把其他X Server給遮蔽掉(大概這么個意思?), 同意即可, 然后便順利安裝. 之后reboot重啟即可.

* 如果安裝完畢后, 在登錄界面循環登錄, 即輸入密碼, 又退回的話, 關閉掉主板的Securt Boot,如果仍出現循環登錄,則參考另一種方法,本人使用這種方法解決上述問題的。

3.安裝CUDA8.0

選擇CUDA型號

官網選擇Linux-x86_64-Ubuntu-16.04-Runfile(local), 按Ctrl+Alt+T打開命令行, 運行:

sudo sh CUDA.run? # 注意進入~/Download/目錄下安裝

輸入q關閉介紹文檔, 鍵入accept同意安裝, 之中有些地方需要選擇, 本人只有對Sample選擇的是no, 其他的都同意并使用默認路徑, 即可以完成安裝. 最后加入環境變量:

export PATH=$PAHT:/usr/local/cuda-8.0/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64

再通過以下命令讓環境變量生效:

source ~/.bashrc

測試一下CUDA,運行:

nvidia-smi

會輸出一個表格。

* 如果在安裝CUDA時遇到空間不足的問題, 可以在運行CUDA.run時加入:

sudo sh CUDA.run --tmpdir=/opt/temp/

4.安裝cudnn8.0

下載好的壓縮包在~/Download目錄中, 進入該目錄,然后運行命令解壓:

tar -zxvf cudnn.tgz

會得到五個文件, 將文件拷貝到對應的CUDA目錄下即可:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

5.安裝TensorFlow

根據官網, Ubuntu上可以有5種方式, 分別是利用: Virtualenv, "native" pip, Docker, Anaconda, 以及從Source安裝. 在此使用Anaconda安裝.

1. 安裝Anaconda, 具體可參見Anaconda官網

2. 創建conda環境, 用命令:

conda create -n tensorflow ?

若沒有conda命令, 則需要

export PATH=$PATH:~/anaconda2/bin

激活conda環境, 此時命令行前多了(tensorflow):

這里是用戶名 $ source activate tensorflow

(tensorflow) 這里是用戶名 $

安裝TensorFlow在conda環境中, 最后的連接是TensorFlow Python Package 根據需要來選擇, 由于我使用GPU, Linux系統, Python3.6, 使用如下命令

(tensorflow)這里是用戶名$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.1-cp36-cp36m-linux_x86_64.whl

安裝完畢后, 嘗試運行

(tensorflow)這里是用戶名$ python

>>> import tensorflow as tf

如果可以運行, 恭喜安裝成功。

之后可以通過如下命令來退出conda環境

(tensorflow)這里是用戶名$ source deactivate tensorflow

本人遇到如下問題,不能運行import tensorflow as tf:

File "/home/johnnysu/anaconda3/lib/python3.6/imp.py", line 342, in load_dynamic

return _load(spec)

ImportError:libcudnn.so.5:cannot open shared object file: No such file or directory

Failed to load the native TensorFlow runtime.

Seehttps://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.? Include the entire stack trace

above this error message when asking for help.

解決方案如下:

添加路徑

echo $PATH

/home/johnnysu/anaconda3/bin:/home/johnnysu/bin:/home/johnnysu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

echo $LD_LIBRARY_PATH

/home/johnnysu/anaconda3/lib:/usr/local/cuda/lib64/:/usr/local/cuda-8.0/lib64/

然后仍然報錯,參考別人的解決方案

pip uninstall tensorflow-gpu

pip install --upgrade tensorflow==1.2.0rc1

執行以下命令

python

>>> import tensorflow as tf

沒有報錯,安裝成功。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容