问题1:
pytorch cpu与pytorch gpu同时安装时,会报错:
Key already registered with the same priority: GroupSpatialSoftmax
(和问题2、3高度关联,建议看完问题2、3避免踩坑)
解决方案1:
卸载两个版本的pytorch
pip uninstall pytorch //pip卸载pytorch
conda uninstall torch //anaconda卸载pytorch
然后重装一个版本,即在官网选择对应版本conda命令运行
问题2:
在使用anaconda解决问题1时,环境配置一直失败,提示更新anaconda版本,但利用anaconda运行官网命令
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
时一直失败
解决方案2:
利用pip更新anaconda
pip install --upgrade conda
问题3:
在解决问题1后报错
Could not run ‘torchvision::nms’ with arguments from the ‘CUDA’ backend
即torchvision与pytorch版本不一致
解决方案3:
在重装pytorch前卸载torchvision
pip uninstall torchvision //pip卸载pytorch
conda uninstall torchvision //anaconda卸载pytorch
问题4:
报错内容:
zero-size array to reduction operation maximum which has no identity
检查文件后发现利用voc_label.py生成的文件中data/labels文件夹下的.txt文件内容为空
解决方案4:
检查voc_label.py文件中的
classes = ["xxx"]
是否与Annotations中的
<name>xxx</name>
保持一致
修正一致后重新运行voc_label.py获得正确的labels
问题5:
运行时报错:
BrokenPipeError: [Errno 32] Broken pipe
实为windows系统中运行多线程出现错误
解决方案5:
将代码中赋值worker的那段中default值改为0
parser.add_argument('--workers', type=int, default=0, help='maximum number of dataloader workers')
问题1、2、3参考博文:
pytorch与torchvision的更新,卸载和秒安装(看这一篇就够了)
yolov5简单使用方法参考博文:
YOLOv5超详细的入门级教程(训练篇)(一)——训练自制数据集(识别鱼类)