文章目录
-
-
- 一、环境问题
-
-
- 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. unsupported Microsoft Visual Stadio version
【来源】:群友——cuprum
【问题描述】:VS版本不支持
【解决办法】:按照要求安装VS,再重新试一下
2. 报错提示找不到 tmp目录下的某个文件
【来源】:群友——cuprum
【问题描述】:在测试环境是否装好时,出现找不到C盘下某个tmp目录下的文件
【解决办法】:一般是中文的用户名造成的,可以去环境变量位置,将该路径换成一个纯英文的路径
3. ImportError DDL load failed
【来源】:群友——
【问题描述】:ImportError DDL load failed
【解决办法】:环境问题,一般是mmcv安装问题,建议直接按照视频中安装,不用pip装过高版本,pip装可以试试1.4.0,如果官方有提供对应的whl文件的话。
4. 找不到指定目录下的 cl.exe
【来源】:群友——William Gao
【问题描述】:找不到指定目录下的 cl.exe
【解决办法】:
- 环境变量的path配置错误,请与视频中和文档中的仔细对比,尤其X86和x64位置
- 群友——范: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 下如何安装环境
【解决办法】:
- 可以考虑直接通过官网教程中的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
- 照着win的教程安装,但是免去VS和cl环境变量的部分,因为Linux自带GCC。
6. AssertionError top_pool_forward miss in module _ext
【来源】:群友——Quest.
【问题描述】:AssertionError top_pool_forward miss in module _ext
【解决办法】:mmcv的版本不对的问题,建议按照教程中的版本。
7. Apex 报错:IndexError tuple index out of range
【来源】:群友——补刀翁、庆天
【问题描述】:Apex 报错:IndexError tuple index out of range
【解决办法】:Apex包问题,搜一下就能解决。
8. 装mmcv时,文件名、目录名或卷标语法不正确
【来源】:群友——Charile
【问题描述】:装mmcv时,文件名、目录名或卷标语法不正确
【解决办法】:要使用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
【解决办法】:
- 群友——范:范:
卸掉所有的 pytorch torch vision torchaudio,严格按照这里的 cuda版本的安装要求来安装,命令也 严格按照run this command来== - 群友——等:这个问题,我这样解决的,我把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
【解决办法】:待解决
11. 安装mmdet时报错,关于pycocotools的错误,match 不到
【来源】:群友——时间的朋友
【问题描述】:
【解决办法】:将requirement.txt 中的pycocotools 注释掉,自己手动装一下
二、工程问题
1. 在用自己的数据集测试时,图片被标满了各种目标框
【来源】:群友——🐹
【问题描述】:在训练好模型后,验证模型效果时,标出了特别多无关的目标框
【解决办法】:类别或者模型与权值文件不匹配导致
2. 训练过程中 loss好多都是nan
【来源】:群友——abu
【问题描述】:
【解决办法】:待解决
3. Gradient overflow Skipping step loss scalar0 reducing scale to xxx
【来源】:群友——abu
【问题描述】:梯度爆炸,提示Gradient overflow Skipping step loss scalar0 reducing scale to xxx
【解决办法】:不需要管,应该是模型在调整step,但是具体原理还有待研究。
4. TypeError ‘NoneType’ object is not subscriptable
【来源】:群友——补刀翁
【问题描述】:
【解决办法】:待解决
5. 给mmdetection工程的Swin Transformer YOLOv3、Faster RCNN配置预训练权重
【来源】:群友——
【问题描述】:不使用链接的形式配置 pretrained,而是直接配置下载好的 预训练权重。
【解决办法】:
- 群友——mongkey-nut:把init_cfg的配置删了,加载预训练模型就相当于一个初始化的过程了。
6. data[‘category_id’] = self.cat_ids[label],IndexError: list out of range
【来源】:群友——只争朝夕
【问题描述】:data[‘category_id’] = self.cat_ids[label],IndexError: list out of range
【解决办法】:
- 群友——庆天: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
【问题描述】:
【解决办法】:
- 群友——天才哥哥~:修改 mmdet set-packet里面mmdet的classes
7. OSError,找不到权值文件
【来源】:群友——天才哥哥~
【问题描述】:OSError,找不到权值文件
【解决办法】:路径错误,如果不确定的话就绝对路径
8. 去掉工程中自带的数据翻转增强
【来源】:群友——只争朝夕
【问题描述】:想去掉自带的数据增强部分
【解决办法】:
- 群友——monkey-nut:
三、数据集问题
1. 只有训练集和验证集怎么办
【问题描述】:我只有训练集和测试集或者只有训练集和验证集,该怎么办
【解决办法】:可以直接把验证集和测试集使用同一份文件(工程里面默认也是这么做的),配置的时候数据集路径和文件对应上就可以。
2. VOC转COCO、LabelMe转COCO
【问题描述】:我该如何转换,有没有提供脚本
【解决方法】:
- LabelMe转COCO:视频中提到了如何用LabelMe转COCO,但是视频中的教程有一点小问题,自己改一点点,原本生成的 json文件中格式为 “file_name”: “JPEGImages\000001.jpg” ,需要想办法把前面的 JPEGImages\ 去掉。方法一:尝试改igthub上那个脚本。方法二:尝试或者自己写脚本去掉这部分内容
- 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。
群友补充:可能是标签没有文件名(待核实)
5. The testing result of the whole datasets is empty
【来源】:群友——🐹
6. list index out of range
【来源】:群友——abu、补刀翁
【问题描述】:训练了几个epoch后,在if isinstance(segms[i][‘count’)时报list index out of range,如下图:
【解决办法】:
- 检查是不是数据集json的segmentation字段是空的,或者图片和json文件对应不上,有缺失。
- 群友——只争朝夕:mmdet的目录指向不明,导致类别读错,因为我之前训练都手动导入环境,mmdet指向的环境,你pip list看目录,他会有个安装路径,我每次导入的是当前工程下的路径,这样不会出问题,export PATHONPATH=…
- 群友——补刀翁:把最后那行错误相关的代码屏蔽掉就行了,共四行
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
【解决办法】:标签 有中文,解码出问题了
10. ValueError:need at least one array to concatenate: indices = np.concatenate(indics)
【来源】:群友——
【问题描述】:ValueError:need at least one array to concatenate: indices = np.concatenate(indics)
【解决办法】:
- 群友——肖X炜:voc2coco 数据集转换导致的问题,建议使用资料中的脚本。
11. LabelMe转COCO报QT4 Version的错误
【来源】:群友——钱X
【问题描述】:
【解决办法】:待解决,可尝试将QT4更新到QT5。
12. 训练时 acc很高,map没有什么提升
【来源】:群友——只争朝夕
【问题描述】:训练时 acc很高,map没有什么提升
【解决办法】:没办法,大概率是因为数据集不适用于该模型,目标太小,据说YOLOv5效果不错,或者使用更大输入的 Swin V2。
致谢
感谢上述提出或提供解决办法的朋友们。如有需要可以私信提供CSDN账号主页链接,我会在下面位置添加。排名不分先后。
关于作者:
- 个人网站:https://beyonderwei.com
- 邮箱:beyonderwei@gmail.com