生成TFRecord文件时的tensorflow.python.framework.errors_impl.NotFoundError对象检测API

时间:2017-07-25 15:54:54

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

我正在尝试从 Pascal VOC 格式数据集生成 TFRecord文件。我正在关注this guide并使用this instructions创建 pascal_train.record 和pascal_val.record

我已经在 ImageSets - >中准备了注释,图片和图像集。主 即可。还在 pascal_label_map.pbtxt 中生成了标签贴图。

现在,当从 tf_worspace / models 运行以下命令时:

export interface IPage {
  title: string;
}

我明白了:

  

文件   " /usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py" ;,   第466行,在raise_exception_on_not_ok_status中       pywrap_tensorflow.TF_GetCode(status))tensorflow.python.framework.errors_impl.NotFoundError:   VOCdevkit / VOC2012 / ImageSets /主要/ marlboro_red_train.txt

我的项目结构如下:

  • tf_workspace
    • 模特(TF工作人员......)
      • object_detection
        • VOCdevkit
          • VOC2012
            • 注解
            • ImageSets
              • 操作(我的注释在这里)
              • 布局
              • (我的图像集在这里)
                • marlboro_red_train.txt
                • marlboro_red_val.txt
                • marlboro_red_trainval.txt
                • ...
              • 分割
            • JPEGImages (我的图片在这里)
            • SegmentationClass
            • SegmentationObject

由于某些原因脚本无法找到的文件存在于该目录中,我已经检查了几次。

请确保我在 create_pascal_tf_record.py 中更改了以下一行:

python3 object_detection/create_pascal_tf_record.py \
--label_map_path=object_detection/data/pascal_label_map.pbtxt \
--data_dir=VOCdevkit --year=VOC2012 --set=train \
--output_path=pascal_train.record

为:

examples_path = os.path.join(data_dir, year, 'ImageSets', 'Main',
                                 'aeroplane_' + FLAGS.set + '.txt')

那是怎么回事?请有人解释为什么会出现这样的错误! 提前感谢任何暗示!

1 个答案:

答案 0 :(得分:1)

好的,原因是错误的参数。 正如this guide所说:

  

确保VOCdevkit在models / object_detection中,然后你可以去   提前并生成TFRecords。

所以我必须做的就是改变这一行:

--data_dir=VOCdevkit

为:

--data_dir=object_detection/VOCdevkit/