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
官網選擇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
沒有報錯,安裝成功。