本文记录了在ubuntu20.04上搭建tensorflow的过程。以tensorflow1.12为例。


目录



基础环境


  1. 系统:ubuntu20.04 LTS
  2. 显卡:2080Ti
  3. 显卡驱动:安装ubuntu系统时已自动安装,如下图
    ubuntu20.04上搭建tensorflow_linux

搭建过程

python环境



安装conda
我使用了miniconda,下载链接为https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
下载需要的版本即可,也可以直接下载最新版

执行安装命令

sudo sh Miniconda3-latest-Linux-x86_64.sh


创建Python环境

conda create -n dev python=3.6.8


安装tensorflow

进入dev环境中,安装tensorflow

conda activate dev
pip install tensorflow-gpu==1.12.0


Cuda安装


  1. 下载cuda
    cuda的官方地址为https://developer.nvidia.com/cuda-toolkit-archive
    下载cuda时要注意cuda与tensorflow的版本对应关系,以及系统中的编译器(gcc、g++)的版本,见下图。
    ubuntu20.04上搭建tensorflow_tensorflow_02
    ubuntu20.04上搭建tensorflow_linux_03
  2. 安装cuda
    执行安装命令
    ​sudo sh cuda_9.0.176_384.81_linux.run ​​安装过程中需要注意,开始安装时会有一系列问题让你输入,其中有一个问题是是否需要安装显卡驱动,因为我这个系统中已经有了驱动,所以这里选择了no。其他都是yes或默认即可,按需选择。
  3. 设置环境变量
    主目录下的.bashrc文件末尾添加:
    ​export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64 export PATH=$PATH:/usr/local/cuda-9.0/bin export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0 ​​然后使更改生效
    ​source ~/.bashrc ​​安装成功时,查看到的cuda版本信息如下:
    ubuntu20.04上搭建tensorflow_tensorflow_04
    然后cuda的patch包也逐一安装
    ​sudo sh cuda_9.0.176.1_linux.run sudo sh cuda_9.0.176.2_linux.run sudo sh cuda_9.0.176.3_linux.run sudo sh cuda_9.0.176.4_linux.run ​
  4. 可能遇到的问题
    (1)安装完会输出安装情况,如果提示Toolkit: Installation Failed. Using unsupported Compiler,说明是gcc的版本不对,需要降级。
    ubuntu20.04上搭建tensorflow_python_05
    (2)安装后提示Missing recommended library: libGLU.so;Missing recommended library: libXmu.so等库文件缺失,原因是缺少相关依赖库,安装依赖库然后重新执行cuda安装命令即可。
    安装依赖库
    ​sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev ​

CuDNN安装


  1. 下载
    下载时注意CuDNN与cuda的版本对应关系,我下载的是 cudnn-9.0-linux-x64-v7.6.5.32.tgz
    下载链接为https://developer.nvidia.com/rdp/cudnn-archive#a-collapse731-10
  2. 安装
    安装比较简单,解压缩,然后将文件移动至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* ​
  3. 查看CuDNN版本
    ​cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 ​ubuntu20.04上搭建tensorflow_python_06

测试与常见问题


  1. 打开终端进入先前建立的Python环境测试,显示如下是表示安装成功
    ubuntu20.04上搭建tensorflow_python_07
    若报错ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory,说明cuda版本与tensorflow不对应,需要重新安装正确版本的cuda和cudnn
  2. pycharm中报错ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory,如下图
    ubuntu20.04上搭建tensorflow_python_08
    需要修改运行配置,如下图的位置填写上
    PYTHONUNBUFFERED=1;LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64;usr/local/lib
    ubuntu20.04上搭建tensorflow_python_09