在本地(Python3.9 Pytorch2.0.0 CUDA11.8 RTX2060)能正常训练,但在autodl上(Python3.8.10 Pytorch1.9.0+CUDA11.1 RTX3090)训练同样的数据集却出现这个情况,目前不知道是因为Pytorch与CUDA的版本兼容问题还是超参数设置的问题,用本地训练好的模型在云服务器上面能验证。
(与RTX3090相同版本的1080ti没问题)
在初步搭建完毕yolov5环境之后运行程序,发现出现下面这个问题:
通过查阅资料,出现这个问题大概率是因为torch版本太低的问题。我的电脑只配置了CUDA10.0,由于CUDA10.0版本对应的torch版本为1.2.0(
# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
这不符合要求(pytorch>=1.7),为了解决此问题,采用如下办法:
方案一:在Anaconda Prompt 的 yolov5虚拟环境下输入如下安装命令
pip install torch==1.7.1 torchvision==0.8.2 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple/
验证:
输入如下代码
import torch
print(torch.cuda.is_available())
print(torch.__version__)
结果显示:
说明安装成功啦!
运行yolov5的代码,识别结果保存在D:\PycharmProjects\yolov5-master\runs\detect\exp中
方案二:在已经安装CUDA10.0的基础上,再安装CUDA10.2,进而满足pytorch>=1.7要求
由于第一种方案成功了,因此我没有继续尝试方案二,找到了几份博主的资料供大家参考学习:
①windows一个显卡配置多个CUDA版本
②Windows安装多版本的cuda