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 文件名 从本地逐个安装。
在这里插入图片描述

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