TensorFlow 1.13.0 在 Ubuntu 下的安裝

說明

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 準備工作

  • 從官網下載 CUDA 10.0

    在這裏插入圖片描述

  • 選擇合適的 cuDNN 版本並下載,需要登錄自己的賬號
    在這裏插入圖片描述

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.0cuda-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 的問題

  1. 問題: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 鏡像源

  1. 創建 pip3 的配置文件

    sudo mkdir ~/.pip
    cd ~/.pip
    touch pip.conf
    
  2. 設置 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 文件名 從本地逐個安裝。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章