对象检测model_main.py错误:无法批处理组件1中具有不同形状的张量

时间:2019-01-14 13:53:31

标签: python python-3.x tensorflow machine-learning object-detection

我正在尝试让model_main.py文件可用于我正在创建的自定义对象检测器。但是,我似乎遇到以下错误,无法弄清楚如何解决。任何帮助,将不胜感激!

我正在运行以下命令:

sudo python3 /data/tensorflow/models/research/object_detection/model_main.py --pipeline_config_path=/data/tensorflow/models/research/object_detection/samples/configs/faster_rcnn_resnet50_coco.config —model_dir=/home/USER/TASK/models/faster_rcnn_resnet50_coco/ --num_train_steps=200000 --num_eval_steps=1500 --sample_1_of_n_eval_examples=1 --alsologtostderr

错误如下:

InvalidArgumentError (see above for traceback): Cannot batch tensors with different shapes in component 1. First element had shape [600,900,3] and element 1 had shape [512,1024,3].

完整的追溯位于https://pastebin.com/SktxTnix

我认为问题在于配置文件中的image_resizer。可能我的图像太大,导致改组缓冲区内存不足的问题?但是,我无法通过更改最小和最大调整大小值来对此进行补救。

编辑:经过更多的试验之后,我认为这与缓冲区大小无关。我将其进一步减小到512MB,可以正常使用,但仍然收到相同的错误,请参阅:https://pastebin.com/e2TBwvWd

1 个答案:

答案 0 :(得分:0)

您是否尝试过填充?不确定为什么以前的版本没有它就可以工作。

 keep_aspect_ratio_resizer {
        pad_to_max_dimension: true
        min_dimension: 600
        max_dimension: 1024
      }