Ubuntu 下 Pytorch, Tensorflow 对应的Python、英伟达显卡驱动、CUDA、CUDNN版本与环境信息查看方法
人工神经网络已然成为现今最流行的机器学习工具,框架平台也在不断地完善升级,对GPU的依赖也越来越严重,在框架们升级的过程中会改进原有版本的错误并且提供很多美好的合理的新特性,会给使用者带来更多的便利,也让使用者对这个框架更有信心,让框架更加光彩夺目。
但是事实上,在大家为新版本的Pytorch和Tensorflow千呼万唤始出来欢呼雀跃的时候,角落里却有一小撮人为莫名其妙的环境错误抓耳挠腮。因为框架的正确运行需要配套固定版本的python、显卡驱动、CUDA、CUDNN,低了不行高了也不行。
那怎么查看各个环境的版本呢,各个框架需要什么版本的运行环境呢,每装一次查一次的我受够了,于是有了这篇博客,希望能帮大家多走一些弯路,少走一些捷径。
我的系统为Ubuntu 16.04
一、环境查看的方法
查看python版本
其实命令行进入python就会显示版本;
也可以:
~$ python --version
查看CUDA版本
~$ cat /usr/local/cuda/version.txt
查看GPU 型号
~$ lspci | grep -i nvidia
查看NVIDIA驱动版本
~$ sudo dpkg --list | grep nvidia-*
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
这里会显示一些宏
比如我的显示:
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 4
#define CUDNN_PATCHLEVEL 1
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
按照 CUDNN_VERSION的宏定义计算出来的是7401
但是CuDNN版本实际上为 7.4.1
查看Tensorflow版本
如果安装了pip或者conda可以运行
pip list
或者
conda list
找到其中Tensorflow查看版本
也可以进入python环境:
import tensorflow as tf
tf.__version__
查看Pytorch版本
安装了pip或者conda可以向上面一样运行
pip list
或者
conda list
找到其中叫做 torch 的包查看版本(注意不叫pytorch)
也可以进入python环境,输入:
import torch
torch.__version__
查看已经安装的Pytorch对应的CUDA版本
进入python环境,输入:
import torch
torch.version.cuda
查看已经安装的Pytorch对应的CUDNN版本
进入python环境,输入:
import torch
torch.backends.cudnn.version()
二、各环境版本配套要求
好啦,我们已经知道自己的环境是啥版本了,然后我们了解一下各个套件之间的依赖关系和配套的要求。
CUDA与NVIDIA驱动版本
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
CUDA Toolkit and Compatible Driver Versions
CUDA Toolkit | Linux x86_64 Driver Version | Windows x86_64 Driver Version |
CUDA 10.1 (10.1.105 general release, and updates) | >= 418.39 | >= 418.96 |
CUDA 10.0.130 | >= 410.48 | >= 411.31 |
CUDA 9.2 (9.2.148 Update 1) | >= 396.37 | >= 398.26 |
CUDA 9.2 (9.2.88) | >= 396.26 | >= 397.44 |
CUDA 9.1 (9.1.85) | >= 390.46 | >= 391.29 |
CUDA 9.0 (9.0.76) | >= 384.81 | >= 385.54 |
CUDA 8.0 (8.0.61 GA2) | >= 375.26 | >= 376.51 |
CUDA 8.0 (8.0.44) | >= 367.48 | >= 369.30 |
CUDA 7.5 (7.5.16) | >= 352.31 | >= 353.66 |
CUDA 7.0 (7.0.28) | >= 346.46 | >= 347.62 |
TensorFlow与Python, CUDA, cuDNN的版本对应关系
https://tensorflow.google.cn/install/source#linux
版本 | Python 版本 | 编译器 | 编译工具 | cuDNN | CUDA |
tensorflow_gpu-2.0.0-alpha0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.19.2 | 7.4.1以及更高版本 | CUDA 10.0 (需要 410.x 或更高版本) |
tensorflow_gpu-1.13.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.19.2 | 7.4 | 10 |
tensorflow_gpu-1.12.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.11.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.9.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.11.0 | 7 | 9 |
tensorflow_gpu-1.8.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 | 7 | 9 |
tensorflow_gpu-1.7.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.6.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.5.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.8.0 | 7 | 9 |
tensorflow_gpu-1.4.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.5.4 | 6 | 8 |
tensorflow_gpu-1.3.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 6 | 8 |
tensorflow_gpu-1.2.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
CUDA、CUDNN和显卡驱动
引用自:https://blog.csdn.net/qq_27825451/article/details/89082978
1、显卡驱动与CUDA
CUDA和显卡驱动没有一一对应的关系
NVIDIA的显卡驱动器与CUDA并不是一一对应的哦,CUDA本质上只是一个工具包而已,所以我可以在同一个设备上安装很多个不同版本的CUDA工具包,比如我的电脑上同事安装了 CUDA 9.0、CUDA 9.2、CUDA 10.0三个版本。一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同CUDA工具包就可以了,但是由于使用离线的CUDA总是会捆绑CUDA和驱动程序,所以在使用多个CUDA的时候就不要选择离线安装的CUDA了,否则每次都会安装不同的显卡驱动,这不太好,我们直接安装一个最新版的显卡驱动,然后在线安装不同版本的CUDA即可。
2、cuDNN与CUDA
cuDNN与CUDA没有一一对应的关系
cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。
NVIDIA显卡以及对应的显卡驱动
https://developer.nvidia.com/cuda-gpus
列出部分常见的Nvidia显卡型号
台式机
GPU | Compute Capability |
---|---|
NVIDIA TITAN RTX | 7.5 |
Geforce RTX 2080 Ti | 7.5 |
Geforce RTX 2080 | 7.5 |
Geforce RTX 2070 | 7.5 |
Geforce RTX 2060 | 7.5 |
NVIDIA TITAN V | 7 |
NVIDIA TITAN Xp | 6.1 |
NVIDIA TITAN X | 6.1 |
GeForce GTX 1080 Ti | 6.1 |
GeForce GTX 1080 | 6.1 |
GeForce GTX 1070 | 6.1 |
GeForce GTX 1060 | 6.1 |
GeForce GTX 1050 | 6.1 |
GeForce GTX TITAN X | 5.2 |
GeForce GTX TITAN Z | 3.5 |
GeForce GTX TITAN Black | 3.5 |
GeForce GTX TITAN | 3.5 |
GeForce GTX 980 Ti | 5.2 |
GeForce GTX 980 | 5.2 |
GeForce GTX 970 | 5.2 |
GeForce GTX 960 | 5.2 |
GeForce GTX 950 | 5.2 |
GeForce GTX 780 Ti | 3.5 |
GeForce GTX 780 | 3.5 |
GeForce GTX 770 | 3 |
GeForce GTX 760 | 3 |
GeForce GTX 750 Ti | 5 |
GeForce GTX 750 | 5 |
GeForce GTX 690 | 3 |
GeForce GTX 680 | 3 |
GeForce GTX 670 | 3 |
GeForce GTX 660 Ti | 3 |
GeForce GTX 660 | 3 |
GeForce GTX 650 Ti BOOST | 3 |
GeForce GTX 650 Ti | 3 |
GeForce GTX 650 | 3 |
GeForce GTX 560 Ti | 2.1 |
GeForce GTX 550 Ti | 2.1 |
GeForce GTX 460 | 2.1 |
GeForce GTS 450 | 2.1 |
GeForce GTS 450* | 2.1 |
GeForce GTX 590 | 2 |
GeForce GTX 580 | 2 |
GeForce GTX 570 | 2 |
GeForce GTX 480 | 2 |
GeForce GTX 470 | 2 |
GeForce GTX 465 | 2 |
GeForce GT 740 | 3 |
GeForce GT 730 | 3.5 |
GeForce GT 730 DDR3,128bit | 2.1 |
GeForce GT 720 | 3.5 |
GeForce GT 705* | 3.5 |
GeForce GT 640 (GDDR5) | 3.5 |
GeForce GT 640 (GDDR3) | 2.1 |
GeForce GT 630 | 2.1 |
GeForce GT 620 | 2.1 |
GeForce GT 610 | 2.1 |
GeForce GT 520 | 2.1 |
GeForce GT 440 | 2.1 |
GeForce GT 440* | 2.1 |
GeForce GT 430 | 2.1 |
GeForce GT 430* | 2.1 |
笔记本
GPU | Compute Capability |
---|---|
Geforce RTX 2080 | 7.5 |
Geforce RTX 2070 | 7.5 |
Geforce RTX 2060 | 7.5 |
GeForce GTX 1080 | 6.1 |
GeForce GTX 1070 | 6.1 |
GeForce GTX 1060 | 6.1 |
GeForce GTX 980 | 5.2 |
GeForce GTX 980M | 5.2 |
GeForce GTX 970M | 5.2 |
GeForce GTX 965M | 5.2 |
GeForce GTX 960M | 5 |
GeForce GTX 950M | 5 |
GeForce 940M | 5 |
GeForce 930M | 5 |
GeForce 920M | 3.5 |
GeForce 910M | 5.2 |
GeForce GTX 880M | 3 |
GeForce GTX 870M | 3 |
GeForce GTX 860M | 3.0/5.0(**) |
GeForce GTX 850M | 5 |
GeForce 840M | 5 |
GeForce 830M | 5 |
GeForce 820M | 2.1 |
GeForce 800M | 2.1 |
GeForce GTX 780M | 3 |
GeForce GTX 770M | 3 |
GeForce GTX 765M | 3 |
GeForce GTX 760M | 3 |
GeForce GTX 680MX | 3 |
GeForce GTX 680M | 3 |
GeForce GTX 675MX | 3 |
GeForce GTX 675M | 2.1 |
GeForce GTX 670MX | 3 |
GeForce GTX 670M | 2.1 |
GeForce GTX 660M | 3 |
GeForce GT 755M | 3 |
GeForce GT 750M | 3 |
GeForce GT 650M | 3 |
GeForce GT 745M | 3 |
GeForce GT 645M | 3 |
GeForce GT 740M | 3 |
GeForce GT 730M | 3 |
GeForce GT 640M | 3 |
GeForce GT 640M LE | 3 |
GeForce GT 735M | 3 |
GeForce GT 635M | 2.1 |
GeForce GT 730M | 3 |
GeForce GT 630M | 2.1 |
GeForce GT 625M | 2.1 |
GeForce GT 720M | 2.1 |
GeForce GT 620M | 2.1 |
GeForce 710M | 2.1 |
GeForce 705M | 2.1 |
GeForce 610M | 2.1 |
GeForce GTX 580M | 2.1 |
GeForce GTX 570M | 2.1 |
GeForce GTX 560M | 2.1 |
GeForce GT 555M | 2.1 |
GeForce GT 550M | 2.1 |
GeForce GT 540M | 2.1 |
GeForce GT 525M | 2.1 |
GeForce GT 520MX | 2.1 |
GeForce GT 520M | 2.1 |
GeForce GTX 485M | 2.1 |
GeForce GTX 470M | 2.1 |
GeForce GTX 460M | 2.1 |
GeForce GT 445M | 2.1 |
GeForce GT 435M | 2.1 |
GeForce GT 420M | 2.1 |
GeForce GT 415M | 2.1 |
GeForce GTX 480M | 2 |
GeForce 710M | 2.1 |
GeForce 410M | 2.1 |
Pytorch与CUDA的对应关系
Pytorch没有Tensorflow那么明确的表格,但是https://pytorch.org/get-started/locally/提供了最新的Pytorch各个环境的安装命令,从表格中可以看到环境需求。
现在(2019.08.28)最新的Pytorch为1.2 需求CUDA版本9.2或10.0
以往的Pytorch版本安装命令如下:
https://pytorch.org/get-started/previous-versions/
Installing with CUDA 9
conda install pytorch=0.4.1 cuda90 -c pytorch
or
conda install pytorch=0.4.1 cuda92 -c pytorch
Installing with CUDA 8
conda install pytorch=0.4.1 cuda80 -c pytorch
Installing with CUDA 7.5
conda install pytorch=0.4.1 cuda75 -c pytorch
Installing without CUDA
conda install pytorch=0.4.1 -c pytorch
PyTorch Linux binaries compiled with CUDA 7.5
- cu75/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.3.0.post4-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whl
- cu75/torch-0.3.0.post4-cp27-cp27m-linux_x86_64.whl
- cu75/torch-0.2.0.post3-cp36-cp36m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post3-cp35-cp35m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post3-cp27-cp27m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post2-cp36-cp36m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post2-cp35-cp35m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post2-cp27-cp27mu-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post2-cp27-cp27m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post1-cp36-cp36m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post1-cp35-cp35m-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post1-cp27-cp27mu-manylinux1_x86_64.whl
- cu75/torch-0.2.0.post1-cp27-cp27m-manylinux1_x86_64.whl
- cu75/torch-0.1.12.post2-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.12.post2-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.12.post2-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.12.post1-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.12.post1-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.12.post1-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.11.post5-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.11.post5-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.11.post5-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.11.post4-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.11.post4-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.11.post4-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.10.post2-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.10.post2-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.10.post2-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.10.post1-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.10.post1-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.10.post1-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.9.post2-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.9.post2-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.9.post2-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.9.post1-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.9.post1-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.9.post1-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.8.post1-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.8.post1-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.8.post1-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.7.post2-cp36-cp36m-linux_x86_64.whl
- cu75/torch-0.1.7.post2-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.7.post2-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.6.post22-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.6.post22-cp27-none-linux_x86_64.whl
- cu75/torch-0.1.6.post20-cp35-cp35m-linux_x86_64.whl
- cu75/torch-0.1.6.post20-cp27-cp27mu-linux_x86_64.whl
更多推荐
所有评论(0)