ValueError: attempt to get argmax of an empty sequence

墨蓝 2023-06-21 10:23 126阅读 0赞

本文针对faster rcnn训练中出现上述问题及解决的方法进行简单记录。

  • 报错信息

    2019-12-12 04:51:57.002253: W tensorflow/core/framework/op_kernel.cc:1610] Invalid argument: ValueError: attempt to get argmax of an empty sequence
    Traceback (most recent call last):

    File “/usr/local/lib/python3.5/dist-packages/tensorflowcore/python/ops/scriptops.py”, line 221, in __call

    1. ret = func(*args)

    File “/workspace/tf-faster-rcnn-master/tools/../lib/layer_utils/anchor_target_layer.py”, line 51, in anchor_target_layer

    1. argmax_overlaps = overlaps.argmax(axis=1)
  • 排查方法

    1. 增加文件名信息至训练数据(lib/roi_data_layer/minibatch.py程序的get_minibatch函数)
      blobs[‘addimages’]=roidb[0][‘image’] #增加语句
      blobs[‘gt_boxes’] = gt_boxes

    2. 输出当前训练batch数据的信息(lib/model/train_val.py程序的construct_graph函数)
      blobs = self.data_layer.forward()
      print (‘iter{}, info:{}’.format(iter,blobs)) #增加语句

    3. 输出当前val batch数据的信息(lib/model/train_val.py程序的construct_graph函数)
      blobs_val = self.data_layer_val.forward()
      print (‘iter{}, info_val:{}’.format(iter,blobs)) #增加语句

  • 重新运行获得错误数据的图片信息

    iter4559, info_val:{‘addimages’: ‘data/JPEGImages/000202.jpg’, ‘data’: array([[[[ -91.9801 , -99.9465 , -107.7717 ],

    1. [ -91.5426 , -99.509 , -107.3342 ],
    2. ...,
    3. [ -6.9801 , 25.0535 , 1.2283 ]]]], dtype=float32), 'gt_boxes': array([], shape=(0, 5), dtype=float32), 'im_info': array([600. , 800. , 1.6], dtype=float32)}
  • 解决方法

  1. 查看xml标注文件,删除空元素
  2. 对于修改文件处理程序的,如pascal_voc.py,需要确保数据读取中无异常\

ps:可通过anchor_target_layer.py函数快速输出gt_boxes的信息

  1. print ('gt_boxes: {}, ahcnors: {}'.format(gt_boxes, anchors)) #添加语句
  2. overlaps = bbox_overlaps(
  3. np.ascontiguousarray(anchors, dtype=np.float),
  4. np.ascontiguousarray(gt_boxes, dtype=np.float))
  5. argmax_overlaps = overlaps.argmax(axis=1)

Q2: IndexError: list index out of range

加载数据时越界了,有两种情况导致该原因:

  1. .pkl文件没有更新,删除后重新生成即可;

  2. 旧的中间模型没有删除,导致加载了原有训练模型的参数,引起数据异常;

参考文献:

  1. tf-faster-rcnn

发表评论

表情:
评论列表 (有 0 条评论,126人围观)

还没有评论,来说两句吧...

相关阅读