Swin Transformer目标检测实验——测试自己的数据集

测试自己的数据集

  • 1、上集回顾
  • 2、数据集地址
  • 3、遇到的问题和解决方法
  • 总结

1、上集回顾

Swin Transformer目标检测实验——环境配置的步骤和避坑
既然环境什么的配好了,现在就该跑一下模型啦!

2、数据集地址

大佬的步骤:在这儿
数据集:在这儿
数据集的下载需要来注册账号,都是免费的(PS:我是找朋友帮忙下的,有谁找到能用的教程评论区留个言哈!)

3、遇到的问题和解决方法

其实这个实验大多数跟着b站up的教学就能完成,很多的问题都是步骤没看清导致的,排除这些之后就可能是自己电脑配置的问题了,分享一下电脑配置:
显卡:英伟达GTX1060

电脑:笔记本
处理器	Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz   2.21 GHz
机带 RAM	16.0 GB
系统类型	64 位操作系统, 基于 x64 的处理器
笔和触控	没有可用于此显示器的笔或触控输入

可以说是平平无奇甚至有点拉的配置了,跑跑小项目还能动还好啦。
言归正传,这几天的swin-T模型复现实验做的很烦,我挑了重点的问题来介绍,这一节是测试自己的数据集,在执行命令后

python tools/train.py configs\swin\mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py

1、训练到第16代就出现 IndexError: list index out of range ,根据github(https://github.com/NVIDIA/apex/issues/694)上的解决方法也不能完全解决,之后会出现另一个报错,并且我目前还没找到解决伴生错误的解决方法,所以只能回滚到原来的apex设置。

coco_instance.py
# batch size 按显卡情况而定
    samples_per_gpu=6,
    workers_per_gpu=2,

2、可能是因为边安装软件边训练的缘故?之前在20代之前就会出现超出index的情况,所以还原apex的util设置之后重装了apex,修改了以下参数

checkpoint_config = dict(interval=2)
coco_instance.py
# batch size 按显卡情况而定
    samples_per_gpu=8,
    workers_per_gpu=6,
感觉跟batch size有关

总结

随着第二步的完成,竟然奇迹般的解决了0.0,这个用词只是说明了自己没搞懂这背后的原理,但是有些程序不就是bug运行的嘛(狗头),所以,最后想想应该就是batch size设置的问题,还有就是不要边安装软件边训练模型。
如果我哪天搞懂了,会持续更新的(应该),有不懂的可以留言或私信,不定时回复,作者也在摸索中,希望大家一起进步呀!

你可能感兴趣的:(CV,transformer,目标检测,深度学习)