說明
Google 官方對tensorflow 各版本及其依賴工具 的說明如下:
重要:一定要在自己工作站的 BIOS 中設置 Security Boot 爲 Disabled
1. 安裝顯卡驅動
1.1 下載英偉達官方驅動
NVIDIA 顯卡驅動,自行選擇適合本機的驅動
1.2 卸載原有的 NVIDIA 驅動
如果原來是使用 apt
命令安裝的 NVIDIA
驅動,使用如下命令進行卸載
sudo apt remove --purge nvidia*
如果原來是使用 runfile
安裝的 NVIDIA
驅動,使用如下命令進行卸載
sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-430.09.run --uninstall
1.3 禁用第三方驅動
-
打開編輯配置文件:
sudo vim /etc/modprobe.d/blacklist.conf
-
最後一行添加:
blacklist nouveau options nouveau modeset=0
-
執行命令:
sudo update-initramfs -u
-
重啓計算機後執行命令
lsmod |grep nouveau
,如果沒有任何輸出,說明禁用成功
1.4 禁用 X 服務
- 執行命令:
sudo /etc/init.d/lightdm stop
- 若提示
Unit lightdm.service not loaded
說明lightdm
未安裝,執行sudo apt install lightdm
安裝lightdm
,最後執行sudo /etc/init.d/lightdm stop
- 按
Ctrl+Alt+F2
進入命令行模式,輸入用戶名和密碼登錄
1.5 NVIDIA 驅動安裝
-
使用如下命令安裝
NVIDIA
驅動,安裝過程中全部使用默認選項進行安裝即可:# 給驅動run文件賦予執行權限: sudo chmod a+x NVIDIA-Linux-x86_64-390.25.run # 參數 -no-opengl-files 非常重要,不可省略 sudo ./NVIDIA-Linux-x86_64-390.25.run -no-opengl-files
-
NVIDIA
驅動安裝完成,執行命令sudo service lightdm start
啓動 X 服務,並重啓計算機 -
重新啓動後執行
nvidia-smi
,若列出GPU
的信息列表,說明驅動安裝成功;
2. gcc 和 g++ 版本適配
sudo apt install gcc-4.8
ll /usr/bin |grep gcc #若存在高版本的gcc,則繼續
cd /usr/bin
sudo mv gcc gcc.bak #備份
sudo ln -s gcc-4.8 gcc #重新指向
sudo apt install g++-4.8
ll /usr/bin |grep g++ #若存在高版本的g++,則繼續
cd /usr/bin
sudo mv g++ g++.bak #備份
sudo ln -s g++-4.8 g++ #重新指向
3. 安裝 CUDA 和 cuDNN
3.1 準備工作
3.2 配置 CUDA
執行 sudo sh cuda_10.0.130.1_linux.run
開始安裝 cuda-10.0
,注意:不要安裝驅動,可以在自定義安裝目錄,默認在 /usr/local/cuda-10.0
目錄下。
3.3 環境變量配置
sudo vim ~/.bashrc
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
3.4 驗證 cuda 是否安裝成功
3.5 運行 Sample
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
3.6 安裝 cuDNN 7.4
tar -xzvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
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 /usr/local/cuda/lib64/libcudnn*
3.7 多個 CUDA 共存
查看 /usr/local
目錄下的內容,如下圖,已經安裝的版本有 cuda-10.0
和 cuda-10.1
可以看到,文件類型是 symbolic link ,指向 /usr/local/cuda-10.0,當我們想要使用 10.1 版本時,只需要刪除當前軟鏈接,重新建立指向 10.1 版本的軟鏈接即可
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda
4. Python3.6
Ubuntu18.04 的默認 Python 版本是 3.6.5,所以無需再安裝 Python
4.1 安裝並更新 pip3
sudo apt install python3-pip
pip3 install --upgrade pip
4.2 解決更新 pip3 的問題
-
問題:
ImportError: cannot import name 'main'
:解決方案:打開 pip3 文件,
sudo vim /usr/bin/pip3
,文件內容如下:#!/usr/bin/python3 # GENERATED BY DEBIAN import sys # Run the main entry point, similarly to how setuptools does it, but because # we didn't install the actual entry point from setup.py, don't use the # pkg_resources API. from pip import main if __name__ == '__main__': sys.exit(main())
將倒數第三行的
from pip import main
改爲from pip._internal import main
4.3 更換 pip3 鏡像源
-
創建 pip3 的配置文件
sudo mkdir ~/.pip cd ~/.pip touch pip.conf
-
設置 pip3 的鏡像
sudo vim ~/.pip/pip.conf [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ [install] trusted-host=pypi.douban.com
5. 安裝 tensorflow-gpu 1.13.1
5.1 使用 pip 安裝
命令行輸入 sudo pip3 install tensorflow-gpu==1.13.1
, 等待安裝完成
tensorboard<1.14.0,>=1.13.0(from tensorflow-gpu==1.13.1)
protobuf>=3.6.1(from tensorflow-gpu==1.13.1)
keras-processing>=1.0.5(from tensorflow-gpu==1.13.1)
astor>=0.6.0(from tensorflow-gpu==1.13.1)
keras-application>=1.0.6(from tensorflow-gpu==1.13.1)
numpy>=1.13.3(from tensorflow-gpu==1.13.1)
gast>=0.2.0(from tensorflow-gpu==1.13.1)
absl-py>=0.1.6(from tensorflow-gpu==1.13.1)
tensorflow-estimator<1.14.0rc0,>=1.13.0(from tensorflow-gpu==1.13.1)
wheel>=0.26(from tensorflow-gpu==1.13.1)
temcolor>=1.1.0(from tensorflow-gpu==1.13.1)
grpcio>=1.8.6(from tensorflow-gpu==1.13.1)
six>=1.10.0(from tensorflow-gpu==1.13.1)
werkzeug>=0.11.15(from tensorboard<1.14.0,>=1.13.0->tensorflow-gpu==1.13.1)
markdown>=2.6.8(from tensorboard<1.14.0,>=1.13.0->tensorflow-gpu==1.13.1)
setuptools(from protobuf>=3.6.1->tensorflow-gpu==1.13.1)
h5py-2.9.0(from keras-application>=1.0.6->tensorflow-gpu==1.13.1)
mock>=2.0.0(from tensorflow-estimator<1.14.0rc0,>=1.13.0->tensorflow-gpu==1.13.1)
5.2 離線安裝
方案一:從已經安裝好 tensorflow-gpu 1.13.1 的機器上拷貝 /usr/local/lib/python3.6/dist-package
到目標機器的相同位置即可
方案二:從 python 官網 下載以下 tensorflow 依賴的 whl 文件,tensorflow 及其依賴之間的關係如下圖所示,使用命令 sudo pip3 install 文件名
從本地逐個安裝。