解决AssertionError: Invalid CUDA ‘–device 0,1,2‘ requested错误的方法

错误:AssertionError: Invalid CUDA '--device 0,1,2' requested, use '--device cpu' or pass valid CUDA device(s)
在运行yolov5时,出现这个错误,意思是没有可用的cuda,无法使用GPU训练。
1.首先用nvidia-smi查看是否真的有三张显卡。很有可能是没有这么多的。这里面的cuda–version的版本是最高支持的cuda的版本,比这个低的是可以用的。
2.检查自己安装的pytorch是不是装错了,可能装到了cpu的版本。这时候就算print(torch.cuda.is_available())是True也是不可用的。
所以,先卸载已经装的pytorch。cpu版本安装了 cpuonly 包,而gpu版本安装了 cudatoolkit 包。如果不卸载cpuonly,运行下面的代码,依然会安装cpu版本的pytorch而不是gpu版本的pytorch

conda uninstall pytorch torchvision torchaudio
conda uninstall cpuonly

然后去这个网站下载好对应的.whl文件

pip install torch‑1.6.0‑cp38‑cp38‑win_amd64.whl

这里的cp38指的是python版本3.8.如果安装有问题,可能是whl文件的命名问题,可以用pip debug –verbose 命令来查看自己电脑支持的安装标签,然后修改whl文件的名字后在安装。
或者你可以按照pytorch官方指南安装。

物联沃分享整理
物联沃-IOTWORD物联网 » 解决AssertionError: Invalid CUDA ‘–device 0,1,2‘ requested错误的方法

发表评论