在mmdetection中有时候训练模型会出现ValueError: need at least one array to concatenate的错误,详情如下图所示。

很多人都说是mmdet/dataset下coco.py或voc.py中CLASSES设置与数据集对应不上,博主不以为然。因为在mmdetection2中,不需要到mmdet/dataset中修改CLASSES,只需要在训练配置文件中中设置一下就行了。config解释器会通过继承自动修改CLASSES的值,具体可见下图,或参考mmdetection2的使用教程从数据处理、配置文件到训练与测试(支持coco数据和pascal_voc数据)_万里鹏程转瞬至的博客-CSDN博客_mmdetection2https://hpg123.blog.csdn.net/article/details/124617894

只要配置文件中classes设置正确了,voc数据就不会出现上述的报错。

但是,coco数据集会因此数据转化时设置有误,而导致出现上述错误。博主的数据集只有shoot一个类别,在数据集转换时,通过下列方式在tools\dataset_converters\pascal_voc.py文件设置类别。【错误方式】

然后生成的coco数据存在问题,本来只有一个shoot类别的coco数据,结果出现了 20余个supercategory项目。这就是导致报错的根源。

在转换数据集时,需要通过在tools\dataset_converters\pascal_voc.py文件按照以下标准以下设置修改自定义类别

 通过该方式生成的coco数据集才是严格正确的,其categories的格式如下图所示。如果是通过第三方项目生成的coco数据,则请检查categories内的数据与数据集的类别是否正常。

在修改coco数据集的错误后,现在mmdetection可以正常训练数据了。

mmdetection ValueError: need at least one array to concatenate解决方案相关推荐

  1. ValueError: need at least one array to concatenate

    关键词 python 报错内容 ValueError: need at least one array to concatenate 原因 路径有误 可能入手的地方 1.检查下运行的py文件中写到的路 ...

  2. MMDet: ValueError: need at least one array to concatenate

    文章首发及后续更新:https://mwhls.top/4051.html,无图/无目录/格式错误/更多相关请至首发页查看. 新的更新内容请到mwhls.top查看. 欢迎提出任何疑问及批评,非常感谢 ...

  3. 解决ValueError: need at least one array to concatenate

    ValueError: need at least one array to concatenate 引发原因:从空数组进行连接会引发此错误 报错提示为: TFT_Dataset类报错相关部分源代码为 ...

  4. ValueError: could not broadcast input array from shape (*,*) into shape (*)

    在将一个list转为np.array时出现如题错误. 错误原因: list中各元素的数据的shape不一致 解决办法: 1)方法1. 将list中的多个元素沿某个公共维度串联成一个张量,然后保存每个元 ...

  5. Keras前后尺寸一致却依然报错'ValueError: total size of new array must be unchanged'的原因

    某些情况下我们需要对张量进行维度变换,一般可以通过调用以下两种方法实现: # 1. TensorFlow自带 tf.reshape(tensor, target_shape) # 2. (推荐)Ker ...

  6. python 报ValueError could not broadcast input array from shape或 Can‘t convert non-rectangular

    python 报ValueError: could not broadcast input array from shape numpy报ValueError: could not broadcast ...

  7. numpy报ValueError: could not broadcast input array from shape

    问题描述 在使用numpy将list转为array的时候报错 代码 a = np.array([[1,2],[3,4]]) b = np.array([[5,6,7],[8,9,10]]) c = [ ...

  8. ValueError: could not broadcast input array from shape(708,1016,3) into shape(1016,708,3)

    在终端中打开model文件夹.输入sh 1.sh,运行1.sh文件. 出现报错信息: ValueError: could not broadcast input array from shape(70 ...

  9. ValueError: At least one stride in the given numpy array is negative解决方案

    ValueError: At least one stride in the given numpy array is negative, and tensors with negative stri ...

最新文章

  1. 如何在Linux下安装Docker
  2. 技术新进展!谷歌AI部门宣布发现新技术以加速AI神经网络训练
  3. 比特币Cash Hard Fork辩论在压力测试后重新召开
  4. Mysql:is not allowed to connect to this MySQL server
  5. arcgis js api proxy java 版本配置
  6. 2.使用windows下的客户端连接虚拟机上的oracle连不上的时候的解决方案
  7. 100万“愤怒的小鸟”:中国手机开发者生存调查
  8. 力扣174. 地下城游戏
  9. 数据结构之线性表的基本C语言语法
  10. jsSIP-demo(完整源码加注释)
  11. Android聊天软件的开发
  12. php 极光推送别名数组,PHP使用极光推送-Go语言中文社区
  13. 建立个人腾讯云服务器
  14. 店盈通:新品牌如何活得更好、活得更久
  15. 物流公司的发出时间在哪里查询,快递单号查询方法
  16. 用公式编辑器将数学公式转为LaTeX代码
  17. python数据可视化程序_python数据可视化简易版
  18. 程序猿的自救 从零备考NSCA/CSCS 3 运动与训练的能量学
  19. 量子计算机应用于哪些领域,量子计算的应用领域
  20. 用CPU-Z查看内存插槽个数与频率

热门文章

  1. 线程池(实现线程的第四种方式)
  2. linux基础命令整理
  3. CSDN 博客排版技巧
  4. svn 红叉叉图标解决方法
  5. release debug
  6. python求加权平均值的方法(附纯python写法)
  7. 使用双缓存贴图时切换时仍然会卡的解决方法,贴图之前用FillSolidRect()
  8. 本次操作由于这台计算机的限制,WinXP提示本次操作由于这台计算机的限制而被取消的解决方法...
  9. c语言在线考试系统的需求分析,基于C/S架构的通用计算机在线考试系统
  10. 统一流程平台----助力企业数字化转型的工具