问题描述
抱歉,我是使用Tensorflow 2.0制作模型的新手。
我正在尝试使用预训练的模型训练模型:Tensorflow 2.0 Object Detection Zoo中的ssd_mobilenet_v2_fpnlite_320x320。我正在跟踪一个使用.pbtxt文件作为模型的教程,但由于该模型只有一个.pb文件,因此我不确定如何获取它。
https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md 链接在这里。我正在计划将SSD MobileNet v2 320x320用于我的模型。
基本上我的问题是:我如何在pipeline.config
文件中引用一个.pbtxt文件,或者我可以为label_map_path
放置其他内容?
train_input_reader {
label_map_path:“路径”
tf_record_input_reader {
input_path:“路径”
}
}
解决方法
您必须基于要为其训练对象检测模型的内容创建“ pbtxt”文件。 pbtxt文件的格式为:
item {
id: 1
name: 'class name 1'
}
item {
id: 2
name: 'class name 2'
}
例如,如果您正在训练对象检测模型来检测猫和狗。 您的label_map.pbtxt文件将如下所示。
item {
id: 1
name: 'cat'
}
item {
id: 2
name: 'dog'
}
注意:此名称应与在标记图像时为类别指定的名称完全匹配。即使用labelImg软件进行标记。
有关使用Tensorflow对象检测API的完整指南。 参见here
在创建了label_map.pbtxt文件之后,您只需在pipeline.pbtxt中指定文件的路径即可。
train_input_reader {
label_map_path: "PATH_TO_LABEL_MAP_FOLDER/label_map.pbtxt"
tf_record_input_reader {
input_path: "PATH"
}
}