【发布时间】:2021-11-24 18:17:24
【问题描述】:
正如您在 Tensorflow 对象检测中已经看到的那样,它们提供了与特定模型相关的 pipeline.config 文件。但是我们需要手动打开这些配置文件并通过硬编码更改参数。我的查询就像我如何通过 python 读取这个 pipeline.config 文件并在运行时更改参数。请帮帮我。
【问题讨论】:
标签: python file tensorflow tf.keras object-detection-api
正如您在 Tensorflow 对象检测中已经看到的那样,它们提供了与特定模型相关的 pipeline.config 文件。但是我们需要手动打开这些配置文件并通过硬编码更改参数。我的查询就像我如何通过 python 读取这个 pipeline.config 文件并在运行时更改参数。请帮帮我。
【问题讨论】:
标签: python file tensorflow tf.keras object-detection-api
@Nicolas Gervais 的回答似乎有点过时了。 这似乎是目前完全可用的版本:
from object_detection.utils import config_util
pipeline_config = 'configs/tf2/ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.config'
configs = config_util.get_configs_from_pipeline_file(pipeline_config)
configs['model'].ssd.num_classes = 10 # change number of classes
您可以通过以下方式保存您的 pipeline.config 后:
# Convert dictionary to pipeline_pb2.TrainEvalPipelineConfig to be able to save it
pipeline_proto = config_util.create_pipeline_proto_from_configs(configs)
config_util.save_pipeline_config(pipeline_proto, 'path/to/save/dir/')
【讨论】:
tutorial notebook 中有一个例子。
from object_detection.utils import config_util, save_pipeline_config
pipeline_config = 'configs/tf2/ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.config'
configs = config_util.get_configs_from_pipeline_file(pipeline_config)
configs['model'].ssd.num_classes = 10 # change number of classes
然后,您可以保存:
save_pipeline_config(configs, 'path/to/save/dir/')
请参阅source code。
【讨论】: