Advertisement

Ubuntu+3090Ti+tensorflow1环境配置

阅读量:

1. 首先安装显卡驱动

注意:不能用软件与更新安装——会导致无法切换cuda版本

1.1 查看显卡型号

复制代码
    ubuntu-drivers devices
    
    

1.2 下载驱动

官方 GeForce 驱动程序 | NVIDIA

中文版下载可能会没有响应

1.3 安装依赖项

复制代码
 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

    
 sudo apt-get install --no-install-recommends libboost-all-dev
    
 sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
    
 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    
    
    
    

1.4 禁用系统默认显卡驱动

复制代码
    sudo gedit /etc/modprobe.d/blacklist.conf
    

打开文件,在文件末尾写入:

复制代码
 blacklist nouveau

    
 options nouveau modeset=0
    
    
    
    

保存后手动更新;

复制代码
    sudo update-initramfs -u
    

电脑重启,输入下列指令进行确认,若无输出,则禁用成功:

复制代码
    lsmod | grep nouveau
    

1.5 配置环境变量

gedit命令打开配置文件:

复制代码
    sudo gedit ~/.bashrc
    

末尾写入:

复制代码
 export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

    
 export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
    
    
    
    

保存更新:

复制代码
    source ~/.bashrc
    

1.6 卸载原有驱动(如果有的话)

有两种方法

复制代码
 sudo apt-get --purge remove nvidia*

    
 sudo apt autoremove
    
    
    
    

卸载命令位置/usr/bin/nvidia-uninstall

sudo /usr/bin/nvidia-uninstall

1.7 退出图形界面

按住ctrl+alt+F1(1-6均可),进入x-server

复制代码
    sudo service lightdm stop
    

禁用图形界面。

如果提示unit lightdm.service not loaded

则需要安装LightDm:

复制代码
    sudo apt install lightdm
    

安装完毕后跳出一个界面,选择lightdm,再sudo service lightdm stop

1.8 安装驱动

先对对应文件进行授权,然后执行安装程序。

复制代码
 sudo chmod +x NVIDIA-……………….run*

    
 sudo sh NVIDIA-……………….run* --no-opengl-files --no-x-check --no-nouveau-check 
    
    
    
    

第二项指令的三个参数分别为:
–no-opengl-files 不安装OpenGL文件。这个参数最重要

–no-x-check 安装驱动时不检查X服务

–no-nouveau-check 安装驱动时不检查nouveau

后两项可以不加,在安装过程中会出现对应对话框进行选择。

安装过程中选项如下:

复制代码
 1.The distribution-provided pre-install script failed! Are you sure you want to continue?

    
  
    
 “Yes”
    
  
    
 2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
    
  
    
 “No”
    
  
    
 3.Nvidia’s 32-bit compatibility libraries?
    
  
    
 “No”
    
  
    
 4.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 
    
  
    
 “Yes”
    
    
    
    

其余一路回车即可。

2.9 安装完成,验证

安装完成后,仍会回到x-server界面,此时

  • 挂载NVIDIA驱动:
复制代码
    modprobe nvidia
    
  • 回到图形界面或直接将电脑重启
复制代码
 sudo service lightdm start            #回到图形界面

    
  
    
 sudo reboot now                       #重启
    
    
    
    
  • 终端输入指令
复制代码
    nvidia-smi
    

如果有下图式的输出,则安装成功。

2. 安装cuda11.2

2.1 安装cuda

查看支持的cuda版本

复制代码
    nvidia-smi
    

下载地址

CUDA Toolkit Archive | NVIDIA Developer

选择类型 runfile(local),并使用生成的指令进行下载和安装

弹出安装界面

在下一步中去除driver项,之后选择install

安装完成后,显示如下:

2.3 环境变量设置

安装完成必须手动修改配置文件

打开home目录下的.bashrc文件:

复制代码
    gedit ~/.bashrc
    

在文件末尾添加:

复制代码
 export CUDA_HOME=/usr/local/cuda

    
 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
    
 export PATH=${CUDA_HOME}/bin:${PATH}
    
    
    
    

(这里的cuda路径不加版本号,以便后续升级cuda版本的时候不需要重新配置)

保存之后,更新环境变量:

复制代码
    source ~/.bashrc
    

测试安装是否成功

2.2 安装cudnn

去官网下载与 CUDA 搭配的 cudnn 版本。下载 cudnn 需要注册一个 NIVDIA 账号。官方已经给出了 cuda 与 cudnn 搭配的建议。

下载tgz格式的,安装方便

解压

复制代码
    tar -xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
    
    

拷贝相关的库文件

复制代码
 sudo cp include/cudnn* /usr/local/cuda/include/ 

    
 sudo cp 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*
    
    
    
    

测试是否安装成功

复制代码
    cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    
    

输出如下表示成功:

监控gpu状态

复制代码
    watch -n 1 nvidia-smi
    

3. 安装tensorflow1

直接安装tensorflow1.115

复制代码
    pip install --default-time=300 tensorflow-gpu==1.15.5
    

安装低版本的tf会报错

思考:为什么cuda11+tf1.15.5可以跑程序?

看到有人说cuda向下兼容,豁然开朗

全部评论 (0)

还没有任何评论哟~