我在tensorflow中使用object detection api。我注意到几乎所有参数都通过配置文件。我找不到关于这些配置文件的选项的任何文档或教程。
我知道在官方的git中,他们为他们的预训练模型提供了list of config files,这可能非常有用,但并不涵盖所有情况,当然如果需要也不提供任何解释。
例如在train_config
部分中,有一些数据扩充选项非常自我解释,但其他选项的潜在存在尚不清楚:
data_augmentation_options {
random_horizontal_flip {
}
}
data_augmentation_options {
ssd_random_crop {
}
}
有没有我可以参考的来源?例如,在此tutorial两个额外选项(batch_queue_capacity
和prefetch_queue_capacity
)中我不知道是否出现。我在哪里可以找到一个合适的选项列表?我知道它是特定于模型的,但其中一些是通用的,非常有用。
答案 0 :(得分:14)
正如the configuration documentation中所述,配置文件只是Protocol Buffers下.proto
文件中描述的research/object_detection/protos
个对象。顶级对象是pipeline.proto
中定义的TrainEvalPipelineConfig
,不同的文件描述了每个元素。例如,data_augmentation_options
是PreprocessingStep
个对象,在preprocessor.proto
中定义(反过来可以包括一系列其他可能的对象,用于不同的预处理任务)。每个对象和字段的含义可能是也可能不是很明显或没有详细记录,但您始终可以参考源代码以确切了解每个值的使用方式(例如,检查preprocessor.py
以了解数据的方式增强完成了。)