目标检测:swin-transformer跑通自己的数据集

环境:win11 单gpu
首先下载 https://github.com/SwinTransformer/Swin-Transformer-Object-Detection

一开始安装总是报错,然后按照它的教程重新conda了一个新环境。
https://github.com/open-mmlab/mmdetection/blob/master/docs/en/get_started.md
step1,2,3,4…

记录一下碰到的问题

1.报错RuntimeError: Default process group has not been initialized, please make sure to call init_process_.
如果是多GPU训练,采用”SyncBN”; 如果是单GPU训练,将type修改为’BN’。
修改:原来是SyncBN,改成BN

目标检测:swin-transformer跑通自己的数据集
2.深度学习Apex库出现报错’IndexError: tuple index out of range’的解决方法
if cached_x.grad_fn.next_functions[1][0].variable is not x: IndexError: tuple index out of range
参考的是 https://blog.csdn.net/starvapour/article/details/122275439
目标检测:swin-transformer跑通自己的数据集
比较好的解决问题的文章 https://blog.csdn.net/CSDN_X_W/article/details/123845728

3.ModuleNotFoundError: No module named ‘mmcv._ext’
应该是mmcv和torch的版本的适配问题。我现在用的是mmcv1.5.2,它可以是会报错,说版本太大,只要修改一下它的最大版本号应该就能用了。

目标检测:swin-transformer跑通自己的数据集
4.TypeError: init () got an unexpected keyword argument ’embed_dim’
参考 https://blog.csdn.net/xyzxyzxyz1999/article/details/123669850
我记得是把mmdet install好了,就没有问题了。

5.Apex is not installed
参考https://www.machunjie.com/linux/1075.html

目标检测:swin-transformer跑通自己的数据集

训练自己的数据集
1.修改下面两个文件里面的类别名,分别是CLASSES,coco_classes()。

目标检测:swin-transformer跑通自己的数据集
2.修改num_classes
目标检测:swin-transformer跑通自己的数据集
我是用的这两个文件,所以修改这两个里面的内容

3.然后解决了碰到的问题,命令

 **python tools/train.py configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py**

开始训练了!

目标检测:swin-transformer跑通自己的数据集

Original: https://blog.csdn.net/weixin_36971177/article/details/125138753
Author: 2022.8.22起夯实基础100天
Title: 目标检测:swin-transformer跑通自己的数据集

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/680568/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球