本文共 1383 字,大约阅读时间需要 4 分钟。
在运行Gituhub程序的时候,出现报错
......y[..., 0:2] = (y[..., 0:2] * 2. - 0.5 + self.grid[i].to(x[i].device)) * self.stride[i] # xyRuntimeError: expected backend CUDA and dtype Float but got backend CUDA and dtype Half
经过网上搜索之后,发现可能是Pytorch的版本问题
查询本机的Python版本和Pytorch版本
import torchprint(torch.__version__)
可以看到Python版本为3.6.3,Pytorch版本为1.1.0
查看程序运行所需要的环境
Python >= 3.7 Pytorch == 1.5.x
所以需要升级Python和Pytorch的版本,但是如果只是简单的对Python和Pytorch版本进行简单的升级,以后再跑其他程序的时候说不定还需要再次更改版本,非常麻烦;所以建议采用创建虚拟环境的方法,为每一个程序创建一个专属的虚拟环境,互不打扰,这样程序的配置环境也不会十分混乱。
创建方法具体可见该
为了方便只保留记录一下关键步骤
# 创建环境conda create -n pytorch1.5 python=3.8.5# 添加清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --set show_channel_urls yesconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/# 查看CUDA版本sudo nvidia-smi# CUDA版本为10.1对应的Pytorchpip install torch==1.5.1+cu101 torchvision==0.6.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html# 安装完成后查看是否安装成功import torchtorch.cuda.is_available
【备注】为什么把之前的Python=3.7改成了Python=3.8.5?
在跑实验的时候发现,如果是3.7会有一个CPU计算的bug,还需要改Python代码,如这篇博客所示:;如果是3.8.5则直接无痛跑成实验。
PS:真的是奇了怪了,可能是因为改了YOLOV5的模型,今天再跑实验又出错了,还是上面的错误,看来Python3.8也没那么好用......
转载地址:http://wgrpi.baihongyu.com/