ubuntu20.04上搭建tensorflow

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

基础环境

  1. 系统:ubuntu20.04 LTS

  2. 显卡:2080Ti

  3. 显卡驱动:安装ubuntu系统时已自动安装,如下图

    深度截图_选择区域_20211102144645

搭建过程

python环境

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

    执行安装命令

    sudo sh Miniconda3-latest-Linux-x86_64.sh
    
  2. 创建Python环境

    conda create -n dev python=3.6.8
    
  3. 安装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++)的版本,见下图。

    深度截图_选择区域_20211102145454

    通常来说系统自带的编译器版本都比较高,需要进行降级,所以我又安装了gcc-4.8、g++-4.8,参考的链接是https://blog.csdn.net/weixin_43876206/article/details/100923785、https://blog.csdn.net/sazass/article/details/110002469

    深度截图_选择区域_20211102145750

  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版本信息如下:

    深度截图_选择区域_20211102150932

    然后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的版本不对,需要降级。

    深度截图_选择区域_20211102150259

    (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
    

    深度截图_选择区域_20211102151049

测试与常见问题

  1. 打开终端进入先前建立的Python环境测试,显示如下是表示安装成功

    深度截图_选择区域_20211102151445

    若报错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,如下图

    深度截图_选择区域_20211102134159

    需要修改运行配置,如下图的位置填写上

    PYTHONUNBUFFERED=1;LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64;usr/local/lib

    深度截图_选择区域_20211102151746

posted @   胖头鹅  阅读(907)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示