tensorflow和pytorch框架的安装以及cuda踩坑记录

pytorch 采用conda创建虚拟环境python=3.6以后,我发现使用conda install torchvision安装完pytorch是cpu版本的,不支持gpu,在跑代码时报错了。

import torch torch.__version__ torch.cuda.is_available()

此时cuda是False,gpu不可用。然后需要用conda uninstall torchvision卸载torchvision。
再使用pip install torchvision -i https://pypi.douban.com/simple安装,验证gpu是否可用,此时是True,gpu可用。
以上亲测,pip安装的torchvision会同时安装对应cuda toolkit包,而conda安装只支持cpu。
tensorflow 在我折腾半天显卡驱动、cuda、cudnn以后,发现使用conda安装tensorflow,会自动安装对应的cuda,验证gpu是否可用,竟然是True。。。
import tensorflow as tf tf.test.is_gpu_available()

亲测:
不装cuda和cudnn,直接采用conda创建虚拟环境以后,使用conda install tensorflow-gpu==1.15.0会自动安装对应cuda toolkit包,然后验证gpu是否可用,是True。
关于cuda和cudnn 1、显卡驱动可以在ubuntu的Software & Updates中的additional drivers中进行更换。
tensorflow和pytorch框架的安装以及cuda踩坑记录
文章图片

2、nvidia-smi显示的是驱动cuda版本为11.2。与手动安装的cuda toolkit包不同。
tensorflow和pytorch框架的安装以及cuda踩坑记录
文章图片

查看cuda版本
手动安装会在usr/local文件夹下。
cat /usr/local/cuda/version.txt

【tensorflow和pytorch框架的安装以及cuda踩坑记录】没有安装cuda输入nvcc -V命令,会出现安装cuda的sudo apt-get install命令,使用这个命令安装的cuda不在local文件夹下,而在usr/lib文件夹下。输入上面的命令会显示没有该目录。手动进入lib文件夹下,也有version.txt可看到版本。不建议用此方式。
查看cudnn版本
1)使用tar.gz安装的cudnn
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

2)使用deb安装的cudnn
dpkg -l | grep cudnn

tensorflow和pytorch框架的安装以及cuda踩坑记录
文章图片

3、关于3者的版本问题。
tensorflow和pytorch框架的安装以及cuda踩坑记录
文章图片

驱动cuda版本向下兼容cuda toolkit版本。通俗的解释就是,nvidia-smi显示的驱动cuda是11.2,最高支持cuda11.2。这里tensorflow1.15.0对应的cuda为10.0,cudnn为7.4.2。

    推荐阅读