YOLOV3 Pytorch 爬过的一些坑 记录贴

版本 pytorch yolov3
1.RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False在这里插入图片描述
问题出现原因,一般为torch版本有问题
解决办法:
1.1检查环境内cuda和CUDNN版本,以及tensorflow版本是否兼容

我使用的是Anaconda环境,一定要注意,除了安装CUDAtooklit以外还需要安装conda的CUDNN,清华源中似乎没有,下载可能需要翻。我用的CUDA9.0加cudnn7.6.4 官网下载时选择合适版本

1.2torch版本问题,conda自动安装的版本似乎不带CUDA
在这里插入图片描述

conda install pytorch torchvision cudatoolkit=9.0 -c pytorch -c defaults -c numba/label/dev 

2.FileNotFoundError: [Errno 2] No such file or directory: ‘…/coco/images/val2014/COCO_val2014_000000000164.jpg’
找不到图片文件

一般为路径问题,此外还存在图片文件名或后缀问题
YOLOV3的数据制作时,用到两个文件,trainnamelist.py和label.py两个,一个是对数据训练测试进行划分,另一个生成标签文件。
一贴代码就挂。。。可以CSDN搜索YOLOV3自制数据集工具,一般都有

注意111行,给出list_file.write('data/firedata/images/%s.jpg\n' % (image_id))全部路径即可,生成的文件
data/firedata/images/000001.jpg
data/firedata/images/000003.jpg

3.此外出现了TypeError: ‘NoneType’ object is not subscriptable 问题

出现该问题的原因是无法正确找到图片标签
解决办法:
datasets.py里面有一句

 path.replace("images", "labels").replace(".png", ".txt").replace(".jpg", ".txt").replace(".JPG", ".txt")

注意两个点,一个是你图片文件的文件名和后缀是否正确,JPG还是jpg
另一个是文件夹的名字,我之前定义的图片文件夹为JPEGImages,无法正确找到,修改后可以正常训练

3.可以正常训练,但是疯狂报在这里插入图片描述

问题出现的原因主要是NUMPY的版本问题,往往是1.17 1.18的问题

对numpy进行降级

conda install  numpy==1.16.0

未完待续 = =
(参考了诸位大神的博客,写的文章半截丢了,无法一一贴参考,多谢诸位,希望大家能顺利跑通一切!)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值