mask-rcnn在训练过程中,突然中断报错,提示:boolean index did not match indexed array along dimension 0;dimension is..

12 篇文章 1 订阅
11 篇文章 1 订阅

一、环境:

win10 + gpu 3090 + maskrcnn + tensorflow2.6.0;

二、报错信息如下:

IndexError: boolean index did not match indexed array along dimension 0; dimension is 1 but corresponding boolean dimension is 2

image_id 549
image_id 85
 8/20 [===========>..................] - ETA: 13:30 - batch: 3.5000 - size: 30.0000 - loss: 40.9189 - rpn_class_loss: 16.8697 - rpn_bbox_loss: 15.0835 - mrcnn_class_loss: 3.8857 - mrcnn_bbox_loss: 4.4410 - mrcnn_mask_loss: 0.6390image_id 1020
image_id 1602
image_id 523
image_id 490
image_id 2239
image_id 474
image_id 592
image_id 2203
Traceback (most recent call last):
  File "D:/python-workspace/Mask_RCNN-master2/train.py", line 425, in <module>
    layers='heads')
  File "D:\python-workspace\Mask_RCNN-master2\mrcnn\model.py", line 2367, in train
    use_multiprocessing=workers > 1,
  File "D:\Anaconda3\envs\py36_maskrcnn_env_bak\lib\site-packages\keras\engine\training_v1.py", line 796, in fit
    use_multiprocessing=use_multiprocessing)
  File "D:\Anaconda3\envs\py36_maskrcnn_env_bak\lib\site-packages\keras\engine\training_generator_v1.py", line 586, in fit
    steps_name='steps_per_epoch')
  File "D:\Anaconda3\envs\py36_maskrcnn_env_bak\lib\site-packages\keras\engine\training_generator_v1.py", line 212, in model_iteration
    batch_data = _get_next_batch(generator)
  File "D:\Anaconda3\envs\py36_maskrcnn_env_bak\lib\site-packages\keras\engine\training_generator_v1.py", line 346, in _get_next_batch
    generator_output = next(generator)
  File "D:\Anaconda3\envs\py36_maskrcnn_env_bak\lib\site-packages\keras\utils\data_utils.py", line 497, in iter_sequence_infinite
    for item in seq:
  File "D:\Anaconda3\envs\py36_maskrcnn_env_bak\lib\site-packages\keras\utils\data_utils.py", line 483, in __iter__
    for item in (self[i] for i in range(len(self))):
  File "D:\Anaconda3\envs\py36_maskrcnn_env_bak\lib\site-packages\keras\utils\data_utils.py", line 483, in <genexpr>
    for item in (self[i] for i in range(len(self))):
  File "D:\python-workspace\Mask_RCNN-master2\mrcnn\model.py", line 1720, in __getitem__
    augmentation=self.augmentation)
  File "D:\python-workspace\Mask_RCNN-master2\mrcnn\model.py", line 1279, in load_image_gt
    class_ids = class_ids[_idx]
IndexError: boolean index did not match indexed array along dimension 0; dimension is 1 but corresponding boolean dimension is 2

Process finished with exit code 1

三、解决方法:

 1、首先排除train.py文件的NUM_CLASSES、NUM_CLASSES、self.add_class()、labels[i].find();

2、config.py文件的NAME、NUM_CLASSES。

经排查,上面都没有问题,因为之前程序运行是正常的,训练也是正常的,只是由于改变了样本集和分类,所以问题应该是图片打标注的时候,引入了未定义的分类名称,需要逐个图片检查标注的label,果然存在异常分类。

 

 

 

 对应的json文件也是错的,需要修改标注和重新生成过程文件。

目标检测,打标注一定要细心、细心、再细心。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值