pytorch版本对计算能力的要求

一、pytorch对计算能力要求

pytorch版本对计算能力的要求_第1张图片

首先查看pytorch是否可用cuda完整流程应该是先查看是否在当前环境下的python

In [1]: import sys
In [2]: sys.executable
Out[2]: '/home/xt/anaconda3/envs/xia/bin/python'

接着查看cuda是否安装

torch.cuda.is_available()
//True

只是检测CUDA是否安装正确并能被Pytorch检测到。

接着验证是否能正常使用,要想看Pytorch能不能调用cuda加速,还需要一下:

a=torch.Tensor([1,2])
a=a.cuda()
a

果不其然出错了

RuntimeError: CUDA error: no kernel image is available for execution on the device

二、出错原因

这是由于显卡计算能力太低导致的,或者是pytorch版本太高了的原因。

从pytorch 1.3开始 不再支持GPU的算力在3.5及其以下的显卡。

如果你要使用torch 1.7,GPU算力至少要达到5.2。

查看pytoch版本

torch.__version__

查看计算能力

torch.cuda.get_device_capability()

所以提供第1种思路:将pytorch换到1.2版本以下,但是:
但是版本太低会遇到很多问题,比如:有些包需要高版本的torch支持,比如:torch geometric需要至少1.4版本。另外,torch版本过低,python版本过高,难保不会出问题。

寻找低版本的pytorch:https://pytorch.org/get-started/previous-versions/。

直接贴出pytorch1.1的下载命令

conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=9.0 -c pytorch

或者第2种思路:换个计算机,因为显卡计算能力太弱了。

或者第3种思路就是:需要在Windows上重新编译Pytorch 源码,得到适合自己显卡的torch。在编译时,系统会自动把GPU算力下限设为当前机器显卡的算力,比如GT 730M 1G 显卡算力为3.5。参考https://blog.csdn.net/qq_43051923/article/details/108393510。

三、pytorch与cuda的版本对应关系

首先是cudatoolkit版本与driver要对应。查看driver版本可以用nvidia-smi查询,具体参考对比
pytorch版本对计算能力的要求_第2张图片
驱动是向下兼容的,其决定了可安装的CUDA和CUDAToolkit的最高版本。简而言之驱动高一点好,啥烦恼都没有了。对于cuda的更多介绍参考cuda、cudatoolkit区别

这里是cuda与pytorch的关系,官网链接见pytorch
pytorch版本对计算能力的要求_第3张图片

顺便附上tensorflow的链接TensorFlow

四、与python的版本冲突

PyTorch从来没有为Python2.7版本的PyTorch和TorchVision做过Windows构建。可以使用conda search来实现:

$ conda search 'pytorch[channel=pytorch,subdir=win-64,version=1.1]'
Loading channels: done
# Name     Version    Build                     Channel             
pytorch    1.1.0      py3.5_cuda100_cudnn7_1    pytorch             
pytorch    1.1.0      py3.5_cuda90_cudnn7_1     pytorch             
pytorch    1.1.0      py3.6_cuda100_cudnn7_1    pytorch             
pytorch    1.1.0      py3.6_cuda90_cudnn7_1     pytorch             
pytorch    1.1.0      py3.7_cuda100_cudnn7_1    pytorch             
pytorch    1.1.0      py3.7_cuda90_cudnn7_1     pytorch   

至少您必须使用Python3.5,但是如果您要使用Python3并且需要那些特定的PyTorch版本,您最好跳到Python3.7。

conda create -n pytorch_1_1 -c pytorch python=3.7 pytorch=1.1 torchvision=0.3

你可能感兴趣的:(机器学习,深度学习,pytorch,深度学习,python)