【问题标题】:How to do PascalVoc evaluation with google object detection api如何使用谷歌对象检测 api 进行 PascalVoc 评估
【发布时间】:2017-06-29 09:45:11
【问题描述】:

我正在自己的数据集上使用新的Google object_detection api 在配置文件中有字段eval_configeval_input_reader,但我不明白如何使它们工作。

我还在 tensorflow/models/object_detection/ 文件 eval.py 中找到了一个文件,它似乎在运行评估,但我不完全理解这些参数是什么:

 ./eval \
        --logtostderr \
        --checkpoint_dir=path/to/checkpoint_dir \
        --eval_dir=path/to/eval_dir \
        --pipeline_config_path=pipeline_config.pbtxt

假设我有一个模型检查点(3 个 ckpt 文件元、索引和数据)我应该如何处理它们?

【问题讨论】:

    标签: machine-learning tensorflow computer-vision deep-learning object-detection


    【解决方案1】:

    我也在寻找一个配置文件,或者关于如何构建一个的任何信息,带有参数说明,在这一点上documentation 并没有真正的帮助

    【讨论】:

    • object_detection/samples/configs 中有一些示例。如果您有一个帕斯卡格式的数据集(带有图像、相应的注释和图像集),您可以通过类似于 object_detection/create_pascal_tf_record.py 的内容生成一个 .record 文件。您还必须生成一个 label_map.pbtxt(类似于您在 object_detection/data 中找到的内容)然后将这些路径放入配置文件(与 object_detection/samples/configs 相同)。尽管如此,仍然没有设法运行 eval.py 。它以某种方式卡住并且没有显示任何内容
    【解决方案2】:

    您不必对 eval 配置字段进行任何操作,但您应该将 eval_input_reader.tf_record_input_reader.input_path 字段更改为指向您的验证数据集,并且 eval_input_reader.label_map_path 应该指向您的标签映射。

    替换下面示例配置中的PATH_TO_YOUR_TF_RECORDPATH_TO_YOUR_LABEL_MAP 字符串。

    ``` 评估配置:{ }

    eval_input_reader: {
      tf_record_input_reader {
        input_path: "PATH_TO_YOUR_TF_RECORD"
      }
      label_map_path: "PATH_TO_YOUR_LABEL_MAP"
      shuffle: false
      num_readers: 1
    }
    

    ```

    【讨论】:

    • 谢谢你,我设法让它工作。但是你能解释一下,为什么我不应该打乱我的数据集,它似乎总是会采用相同的图像(在我的情况下它们是按标签排序的)。 num_readers 字段是什么?
    猜你喜欢
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 2019-03-03
    • 2021-05-20
    • 2020-08-23
    • 2020-03-04
    相关资源
    最近更新 更多