Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、安装anaconda
  • 二、安装cuda10.1
    • 1.Cuda下载网站
    • 2.Cuda安装步骤
  • 三、安装cudnn7.6.3
  • 四、更改环境变量
  • 五、在Anaconda里面配置tensorflow或pytorch框架
  • 六、配置环境过程中遇到的一些报错及解法办法
    • 1.nvidia-smi提示 command not found
    • 2.【nvidia-smi报错】Failed to initialize NVML: Driver/library version mismatch
    • 3.错误files list file for package 'libeigen3-dev' missing; assuming package has no files currently installed的解决方法
    • 4.发现cuda版本用nvcc和cat查询的不一样
    • 5.发现cuda nvcc和nvidia-smi版本不一致
    • 6.ensorflow的CUDA driver version is insufficient for CUDA runtime version 问题解决方案
  • 总结


前言

由于上篇博客是在Virtualenv环境下安装tensorflow环境,这篇文章是补充在anaconda环境下安装tensorflow和pytorch环境。涉及到在同一台主机下,存在多个cuda版本,安装过程中的遇到一系列问题的解决方案。

一、安装anaconda

  1. anaconda下载网站
  2. 安装步骤 参考如下

二、安装cuda10.1

1.Cuda下载网站

下载网址
Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第1张图片

2.Cuda安装步骤

  1. sudo dpkg -i cuda-repo-ubuntu1604-10-1-local-10.1.105-418.39_1.0-1_amd64.deb
`sudo dpkg -i cuda-repo-ubuntu1604-10-1-local-10.1.105-418.39_1.0-1_amd64.deb`

Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第2张图片

2. `sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
sudo apt-key add /var/cuda-repo-10-1-local-10.1.105-418.39/7fa2af80.pub

在这里插入图片描述

3. `sudo apt-get update`
4. `sudo apt-get install cuda``
5. sudo apt install cuda-toolkit-10-1  #只安装CUDA 10.1

三、安装cudnn7.6.3

sudo dpkg -i libcudnn7_7.6.3.30-1+cuda10.1_amd64.deb 
sudo dpkg -i libcudnn7-dev_7.6.3.30-1+cuda10.1_amd64.deb

Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第3张图片

sudo cp /usr/include/cudnn.h /usr/local/cuda-10.1/include
sudo cp /var/lib/dpkg/info/libcudnn* /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-10.1/lib64/libcudnn*

四、更改环境变量

sudo gedit ~/.bashrc

source ~/.bashrc

Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第4张图片

Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第5张图片

五、在Anaconda里面配置tensorflow或pytorch框架

  1. 在Anaconda里面新建虚拟环境
conda create -n <name> <python版本>
例如:
1)conda create -n tensorflow1.0.1 python=2.7 
2)conda create -n pytorch python=3.7 

2.安装tensorflow命令
在这里插入图片描述

  1. 安装GPU-pytorch命令
    官方地址
    根据本地服务器安装的系统版本及cuda版本选择合适的pytorch安装版本Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第6张图片
conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch
  1. 查看配置环境:
 conda activate pytorch
 conda list

Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第7张图片

六、配置环境过程中遇到的一些报错及解法办法

1.nvidia-smi提示 command not found

NVIDIA-SMI has failed because it couldn’t communicate with NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
显卡驱动找不到解决方案:

  1. 方法1:
step1:sudo apt-get install dkms
step2:   sudo dkms install -m nvidia -v 430.64
nvidia-smi
改为自己显卡版本号 查看方式 cd /usr/src 查看
特斯拉显卡版本 430.64
4.15.0-126-generic/x86_64

==亲测无效 ==
2. 方法2:

1)删除之前安装的nvidia驱动,运行 :

sudo apt-get purge nvidia-*  

2) 添加第三方驱动源,运行

sudo add-apt-repository ppa:graphics-drivers/ppa  

3)更新软件源:

sudo apt-get update  

4.安装:

sudo apt-get install nvidia-430 
sudo apt-get update   
sudo apt-get upgrade  

重新启动
==亲测有效 ==

2.【nvidia-smi报错】Failed to initialize NVML: Driver/library version mismatch

在这里插入图片描述

1.卸载驱动
sudo apt-get purge nvidia*
2.查找可用的驱动版本
ubuntu-drivers devices
3.cat /proc/driver/nvidia/version

Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第8张图片

4.于是尝试安装430版本的驱动:
sudo apt-get install nvidia-driver-430 nvidia-settings nvidia-prime

ubuntu桌面->左下角九宫格->software & update->additional Drivers。

现在可用更改gpu驱动,我这里选择了nvidia-driver-430(可能尝试其他也可以)。

点击apply changes,然后安装结束重启,
终端输入:

nvidia-smi

Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第9张图片

3.错误files list file for package ‘libeigen3-dev’ missing; assuming package has no files currently installed的解决方法

sudo apt-get update
sudo apt-get install --reinstall libeigen3-dev

4.发现cuda版本用nvcc和cat查询的不一样

在这里插入图片描述
在这里插入图片描述
修改bashrc配置文件,根据自己的需求修改cuda版本。如果需要用到cunda9.0,就将bashrc配置文件中的cuda换成9.0,这样就能在同一台服务器中安装多版本cuda了。
Ubuntu16.04 配置anaconda环境+cuda10.1+cudnn7.6.3+pytorch1.5_第10张图片

5.发现cuda nvcc和nvidia-smi版本不一致

  1. 为何nvidia-smi 中的CUDA 版本与 nvcc不一致

nvidia-smi的结果显示CUDA版本是10.2,而从nvcc-V命令来看,却是CUDA 9.0。
其实是因为CUDA 有两种API,分别是 运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。
nvidia-smi 的结果除了有 GPU 驱动版本型号,还有 CUDA Driver API的型号,这里是 10.2。
而nvcc的结果是对应 CUDA Runtime API:
在安装CUDA 时候会安装3大组件,分别是 NVIDIA 驱动、toolkit 和 samples。NVIDIA 驱动是用来控制 GPU 硬件,toolkit 里面包括nvcc编译器等,samples或者说SDK 里面包括很多样例程序包括查询设备、带宽测试等等。上面说的 CUDA Driver API是依赖于 NVIDIA 驱动 安装的,而CUDA Runtime API 是通过CUDA toolkit 安装的。引用

  1. 显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn的协作与联系
    如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer

6.ensorflow的CUDA driver version is insufficient for CUDA runtime version 问题解决方案

解决办法参考如下

总结

你可能感兴趣的:(深度学习框架,ubuntu,linux,pytorch,tensorflow)