Swin Transformer Object Detection 目标检测、问题汇总

文章目录

*

+ 一、环境问题
+
*
1. unsupported Microsoft Visual Stadio version
2. 报错提示找不到 tmp目录下的某个文件
3. ImportError DDL load failed
4. 找不到指定目录下的 cl.exe
5. Linux 系统下的环境安装
6. AssertionError top_pool_forward miss in module _ext
7. Apex 报错:IndexError tuple index out of range
8. 装mmcv时,文件名、目录名或卷标语法不正确
9. NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe’ failed with exit code 2
10. nms is not compiled with GPU support
11. 安装mmdet时报错,关于pycocotools的错误,match 不到
+ 二、工程问题
+
*
1. 在用自己的数据集测试时,图片被标满了各种目标框
2. 训练过程中 loss好多都是nan
3. Gradient overflow Skipping step loss scalar0 reducing scale to xxx
4. TypeError ‘NoneType’ object is not subscriptable
5. 给mmdetection工程的Swin Transformer YOLOv3、Faster RCNN配置预训练权重
6. data[‘category_id’] = self.cat_ids[label],IndexError: list out of range
6. AssertError The num_classes dose not match the length of CLASSES
7. OSError,找不到权值文件
8. 去掉工程中自带的数据翻转增强
+ 三、数据集问题
+
*
1. 只有训练集和验证集怎么办
2. VOC转COCO、LabelMe转COCO
3. The testing result of the whole datasets is empty
4. num_classes dose not matches the length of ‘CLASSES’
5. The testing result of the whole datasets is empty
6. list index out of range
7. 视频中的数据集去哪下载,天池没找到
8. 有没有什么好的数据增强方法推荐
9. TypeError function takes exactly exactly 5 arguments
10. ValueError:need at least one array to concatenate: indices = np.concatenate(indics)
11. LabelMe转COCO报QT4 Version的错误
12. 训练时 acc很高,map没有什么提升
+ 致谢

必看:

  1. 问题每周总结一次,如果待解决的问题中大家有了解决办法欢迎在交流群和评论区提出(请指明解决的问题和方法)。
  2. 问题的分类可能不完全准确,遇到问题可以都过一遍整个博客。
  3. 本问题汇总关联内容——视频教程完整版我的教学视频

一、环境问题

1. unsupported Microsoft Visual Stadio version

【来源】:群友——cuprum
【问题描述】:VS版本不支持
【解决办法】:按照要求安装VS,再重新试一下

Swin Transformer Object Detection 目标检测、问题汇总
; 2. 报错提示找不到 tmp目录下的某个文件

【来源】:群友——cuprum
【问题描述】:在测试环境是否装好时,出现找不到C盘下某个tmp目录下的文件
【解决办法】:一般是中文的用户名造成的,可以去环境变量位置,将该路径换成一个纯英文的路径

3. ImportError DDL load failed

【来源】:群友——
【问题描述】:ImportError DDL load failed

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:环境问题,一般是mmcv安装问题,建议直接按照视频中安装,不用pip装过高版本,pip装可以试试1.4.0,如果官方有提供对应的whl文件的话。
; 4. 找不到指定目录下的 cl.exe

【来源】:群友——William Gao
【问题描述】:找不到指定目录下的 cl.exe

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:
  1. 环境变量的path配置错误,请与视频中和文档中的仔细对比,尤其X86和x64位置
  2. 群友——范:D:\Windows Kits\10\bin\x64 添加环境变量path rc.exe和rcdll.dll从D:\WindowsKits\10\bin\10.0.19041.0\x86 复制到D:\VS2019\IDE\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x64
    路径根据情况换成自己的。
5. Linux 系统下的环境安装

【问题描述】:Linux 下如何安装环境
【解决办法】:

  1. 可以考虑直接通过官网教程中的pip安装,1.4.0及以下的mmcv,如
    pip install mmcv-full==1.3.18 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.1/index.html
  2. 照着win的教程安装,但是免去VS和cl环境变量的部分,因为Linux自带GCC。
6. AssertionError top_pool_forward miss in module _ext

【来源】:群友——Quest.

【问题描述】:AssertionError top_pool_forward miss in module _ext

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:mmcv的版本不对的问题,建议按照教程中的版本。
; 7. Apex 报错:IndexError tuple index out of range

【来源】:群友——补刀翁、庆天
【问题描述】:Apex 报错:IndexError tuple index out of range

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:Apex包问题,搜一下就能解决。
8. 装mmcv时,文件名、目录名或卷标语法不正确

【来源】:群友——Charile
【问题描述】:装mmcv时,文件名、目录名或卷标语法不正确

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:要使用Anaconda的PowerShell不要使用Anaconda Prompt
; 9. NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe’ failed with exit code 2

【来源】:群友——等、Serein、补刀翁
【问题描述】:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe’ failed with exit code 2

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:
  1. 群友——范:范:
    卸掉所有的 pytorch torch vision torchaudio,严格按照这里的 cuda版本的安装要求来安装,命令也 严格按照run this command来==
  2. 群友——等:这个问题,我这样解决的,我把mmcv的版本降低了,然后按照up主的教程就可以实现了最后的结果。运行项目时会提示说mmcv版本不小于1.3.17上面会说在具体的文件中具体的规定,我把这里的1.3.17改成了低版本的1.3.8就可以跑通环境了。
10. nms is not compiled with GPU support

【来源】:群友——Serein
【问题描述】:nms is not compiled with GPU support

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:待解决
; 11. 安装mmdet时报错,关于pycocotools的错误,match 不到

【来源】:群友——时间的朋友
【问题描述】:

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:将requirement.txt 中的pycocotools 注释掉,自己手动装一下

二、工程问题

1. 在用自己的数据集测试时,图片被标满了各种目标框

【来源】:群友——🐹
【问题描述】:在训练好模型后,验证模型效果时,标出了特别多无关的目标框
【解决办法】:类别或者模型与权值文件不匹配导致

2. 训练过程中 loss好多都是nan

【来源】:群友——abu
【问题描述】:

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:待解决
; 3. Gradient overflow Skipping step loss scalar0 reducing scale to xxx

【来源】:群友——abu
【问题描述】:梯度爆炸,提示Gradient overflow Skipping step loss scalar0 reducing scale to xxx

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:不需要管,应该是模型在调整step,但是具体原理还有待研究。
4. TypeError ‘NoneType’ object is not subscriptable

【来源】:群友——补刀翁
【问题描述】:

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:待解决
; 5. 给mmdetection工程的Swin Transformer YOLOv3、Faster RCNN配置预训练权重

【来源】:群友——
【问题描述】:不使用链接的形式配置 pretrained,而是直接配置下载好的 预训练权重。
【解决办法】:

  1. 群友——mongkey-nut:把init_cfg的配置删了,加载预训练模型就相当于一个初始化的过程了。
6. data[‘category_id’] = self.cat_ids[label],IndexError: list out of range

【来源】:群友——只争朝夕

Swin Transformer Object Detection 目标检测、问题汇总
【问题描述】:data[‘category_id’] = self.cat_ids[label],IndexError: list out of range
【解决办法】:
  1. 群友——庆天:Swin-Transformer-Object-Detection/mmdet/core/evaluation/class_names.py 的coco_classes改一下,改成自己的类别
; 6. AssertError The num_classes dose not match the length of CLASSES

【来源】:群友——jenson
【问题描述】:

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:
  1. 群友——天才哥哥~:修改 mmdet set-packet里面mmdet的classes
7. OSError,找不到权值文件

【来源】:群友——天才哥哥~
【问题描述】:OSError,找不到权值文件

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:路径错误,如果不确定的话就绝对路径
; 8. 去掉工程中自带的数据翻转增强

【来源】:群友——只争朝夕
【问题描述】:想去掉自带的数据增强部分
【解决办法】:

  1. 群友——monkey-nut:
    Swin Transformer Object Detection 目标检测、问题汇总

三、数据集问题

1. 只有训练集和验证集怎么办

【问题描述】:我只有训练集和测试集或者只有训练集和验证集,该怎么办
【解决办法】:可以直接把验证集和测试集使用同一份文件(工程里面默认也是这么做的),配置的时候数据集路径和文件对应上就可以。

2. VOC转COCO、LabelMe转COCO

【问题描述】:我该如何转换,有没有提供脚本
【解决方法】:

  1. LabelMe转COCO:视频中提到了如何用LabelMe转COCO,但是视频中的教程有一点小问题,自己改一点点,原本生成的 json文件中格式为 “file_name”: “JPEGImages\000001.jpg” ,需要想办法把前面的 JPEGImages\ 去掉。 方法一:尝试改igthub上那个脚本。 方法二:尝试或者自己写脚本去掉这部分内容
    Swin Transformer Object Detection 目标检测、问题汇总
  2. VOC转COCO:我的课程资料中提供了一个转换脚本,需要改成自己的目录就可以了

注意:这两个脚本都没办法自动划分测试集验证集和训练集,需要自己转3次。

; 3. The testing result of the whole datasets is empty

【问题详情】:train可以跑起来,但是不打印loss等信息,会报 mmdet The testing result of the whole datasets is empty 的错误
【解决方法】:检查一下数据集路径配置,类别数组,类别个数等地方,也很有可能是数据集格式不对

4. num_classes dose not matches the length of ‘CLASSES’

【来源】:群友——补刀翁
【问题详情】:在训练时报如下错误
【解决方法】:大概率因为数据集中的类别数(json文件中的类别部分)和工程中写的(num_classes)不一致,如一个是3一个是4。
群友补充:可能是标签没有文件名(待核实)

Swin Transformer Object Detection 目标检测、问题汇总
; 5. The testing result of the whole datasets is empty

【来源】:群友——🐹

Swin Transformer Object Detection 目标检测、问题汇总
6. list index out of range

【来源】:群友——abu、补刀翁
【问题描述】:训练了几个epoch后,在if isinstance(segms[i][‘count’)时报list index out of range,如下图:

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:
  1. 检查是不是数据集json的segmentation字段是空的,或者图片和json文件对应不上,有缺失。
  2. 群友——只争朝夕:mmdet的目录指向不明,导致类别读错,因为我之前训练都手动导入环境,mmdet指向的环境,你pip list看目录,他会有个安装路径,我每次导入的是当前工程下的路径,这样不会出问题,export PATHONPATH=…

  3. 群友——补刀翁:把最后那行错误相关的代码屏蔽掉就行了,共四行

    Swin Transformer Object Detection 目标检测、问题汇总
; 7. 视频中的数据集去哪下载,天池没找到

【来源】:Beyonderwei
【问题描述】:想要下载视频中的数据集自己做一下测试
【解决办法】:去Kaggle下载,天池审核没过,不用特殊方法下载速度会稍慢,地址:examination-paper-mark-trace

8. 有没有什么好的数据增强方法推荐

【来源】:群友——只争朝夕
【问题描述】:想对数据集做一下增强,有没有推荐方法
【解决办法】:torchvision、albumentations、transform、imgaug、SMOTE等

9. TypeError function takes exactly exactly 5 arguments

【来源】:群友——OHhahaaa
【问题描述】:TypeError function takes exactly exactly 5 arguments

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:标签 有中文,解码出问题了
; 10. ValueError:need at least one array to concatenate: indices = np.concatenate(indics)

【来源】:群友——

Swin Transformer Object Detection 目标检测、问题汇总
【问题描述】:ValueError:need at least one array to concatenate: indices = np.concatenate(indics)
【解决办法】:
  1. 群友——肖X炜:voc2coco 数据集转换导致的问题,建议使用资料中的脚本。
11. LabelMe转COCO报QT4 Version的错误

【来源】:群友——钱X
【问题描述】:

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:待解决,可尝试将QT4更新到QT5。
Swin Transformer Object Detection 目标检测、问题汇总
; 12. 训练时 acc很高,map没有什么提升

【来源】:群友——只争朝夕
【问题描述】:训练时 acc很高,map没有什么提升

Swin Transformer Object Detection 目标检测、问题汇总
【解决办法】:没办法,大概率是因为数据集不适用于该模型,目标太小,据说YOLOv5效果不错,或者使用更大输入的 Swin V2。

致谢

感谢上述提出或提供解决办法的朋友们。如有需要可以私信提供CSDN账号主页链接,我会在下面位置添加。排名不分先后。

关于作者:

  • 个人网站:https://beyonderwei.com
  • 邮箱:beyonderwei@gmail.com

Swin Transformer Object Detection 目标检测、问题汇总

Original: https://blog.csdn.net/CSDN_X_W/article/details/123845728
Author: Beyonderwei
Title: Swin Transformer Object Detection 目标检测、问题汇总

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

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

(0)

大家都在看

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