| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> # AssertionError: The `num_classes` (80) in Shared2FCBBoxHead of MMDataParallel does not matche -> 正文阅读 |
|
[Python知识库]# AssertionError: The `num_classes` (80) in Shared2FCBBoxHead of MMDataParallel does not matche |
我看很多人都遇到了这个问题,有很多解决了的。我就把这篇博文再完善一下,让大家对mmdetection使用得心应手。 mmdetection训练自己的数据集时报错 ?? : # AssertionError: The `num_classes` (3) in Shared2FCBBoxHead of MMDataParallel does not matches the length of `CLASSES` 80) in CocoDataset 你可能已经修改了以下两个文件,但是还是报错: mmdetection-master\mmdet\core\evaluation\class_names.py mmdetection-master\mmdet\datasets\coco.py 意思就是你指定的类别(3种)与CocoDataset的类别(80种)不匹配。 如果是报错翻过来的话,也就是你指定的类别(80种)与CocoDataset的类别(3种)不匹配。一定是配置文件里设置错了,去你的配置文件搜索num_classes,然后修改好。 废话不多说,直接上方法。有以下几种方法【经过我多次使用后,推荐第四种,方便的很】: 1?? 是修改最少的,假设你有2个类,你就把上边两处地方,前2个类替换成你的类别。方法比较简单,但是可能存在隐患。【不推荐】 2?? 第二种方法就是修改完 class_names.py 和 voc.py 之后一定要重新编译代码(运行python setup.py install),再进行训练。 我试了,有时候可以,有时候不行,可以尝试一下。 参考: 新版 MMDetection V2.3.0训练测试笔记 - it610.com mmdetectionV2.x版本 训练自己的VOC数据集_桃子酱momo的博客-CSDN博客 3?? 第三种方法,我之前使用的方法,其实跟重新编译一样,重新编译的原因就是因为环境里的源文件没有修改,所以你才会报错。mmdetection-master目录下只是一些python文件,真正运行程序时,运行的还是环境里的源文件,因为我们直接去环境里修改源文件。 假设我的conda环境名为conda_env_name,因此去下面的目录下,分别修改两个文件: \anaconda3\envs\conda_env_name\lib\python3.7\site-packages\mmdet\core\evaluation\class_names.py \anaconda3\envs\conda_env_name\lib\python3.7\site-packages\mmdet\datasets\coco.py 在conda环境里把这两个文件里的类别修改了,就可以了,这一招一定可以。 4?? 第四种方法,更简单,更方便,我现在使用的方法。直接在mmdetection配置文件中指定好所有要指定的东西,因为在mmdetection中配置文件的参数值优先级是最高的,所以不用管环境里有没有修改,配置文件里修改了,就可以了。我写了个脚本,把脚本放到mmdetection根目录,根据自己要用的模型,把脚本中的变量都改成自己的。 我以cascade_mask_rcnn_r101为例:
生成配置文件后,路径在 ./work_dirs/cascade_mask_rcnn_r101/config.py,在mmdetection根目录下,又可以愉快的进行训练了。 训练命令(在mmdetection根目录):4GPU训练
?? 最终也功夫不负有心人,解决掉了这个bug,写此博客,以帮助大家少走弯路。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:45:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |