30系以上windows,cuda11 SSD算法,训练自己的数据集

因为类似SSD RCNN FasterRCNN距离现在有一段时间,可能代码没更新或者找不到适合30系以上的显卡的代码版本(因为有的代码不支持高版本pytorch,然后30系以上显卡又不支持cuda11以下的cuda版本),又或者找到出现各种报错,经过踩坑,找到一个适合Windows cuda11以上环境的版本。(注意该版本仅支持python3以上),具体也可以看看原作者的说明。

我的环境是W10 +4080 cuda11.7

让我家猫镇blag:                                                                                             

    

 

 

notes:该版本为pytorch版本,支持cuda11

1.下载源代码:支持源作者,或百度网盘  提取码:4mxn;

2.因为该版本的代码没有requirements文件,所以也不知道要用到哪些环境,可以跟最原始的pytorch SSD算法环境一样,然后根据这算法运行算法时修改(本人就是如此)。又或者跟我装一样的环境。应该最主要是pytorch版本对应吧还有numpy,pillow 比较常见的数学或图像处理库等等,这个版本的SSD要求1.6以上的pytorch。然后这里其实有很多坑,比如numpy版本会过高,但降低又不符合pytorch要求,所以可以去修改numpy源码,让它适合这个算法,所以这里就显示出来虚拟环境的重要性。

3.修改SSD源码,因为年代久远,代码很久没维护,可能不适合我们的环境,而且我也不使用voc以外的数据集,因为我的pytorch版本高所以要改,可能稍微低一点的版本不用改,具体情况具体分析。(1):修改train.py文件下的train函数,找到如下:并将其改成我这样。

(2):继续找到imges,targets=next(batch_iterator)大概在166行左右,这里根据GitHub上的讨论是因为新版pytorch改了点方式,所以我们要修改如下:

(3):打开项目中的data/voc0712.py文件修改你要使用的数据集类型(voc2007或voc2012或者混合)根据实际修改就行,我这里用voc2007数据格式,所以将大概96行修改成如下:

 (4)修改23行的voc_classes为自己的分类,和标签文件对应,不能有空格。

下一行的voc_Root参数不用改,那个好像是你要下载官方的数据集的话的路径。

(5): 接着修改train.py下大概145行的data_loader=改成如下图不然会只识别到CPU

到此整个算法修改完成。

接下来是训练:用的是voc2007数据集结构,如下图,在根目录建一个datasets文件夹,里面放voc2007或voc2012

 接着在train文件修改datasets路径到你的路径就行了

 

例如我这个。该算法默认用的是VGG16预训练网络模型,也可以更换其它的,应该不怎么用改代码,我之前试验过,稍微改了改,根据提示应该不难。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值