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中进行更换。 2、nvidia-smi 显示的是驱动cuda版本为11.2。与手动安装的cuda toolkit包不同。 查看cuda版本 手动安装会在usr/local文件夹下。
cat /usr/local/cuda/version.txt
没有安装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
3、关于3者的版本问题。
驱动cuda版本向下兼容cuda toolkit版本。通俗的解释就是,nvidia-smi显示的驱动cuda是11.2,最高支持cuda11.2。这里tensorflow1.15.0对应的cuda为10.0,cudnn为7.4.2。
|