【问题标题】:How to read and write of TFOD2 pipeline.config file by python?python如何读写TFOD2 pipeline.config文件?
【发布时间】:2021-11-24 18:17:24
【问题描述】:

正如您在 Tensorflow 对象检测中已经看到的那样,它们提供了与特定模型相关的 pipeline.config 文件。但是我们需要手动打开这些配置文件并通过硬编码更改参数。我的查询就像我如何通过 python 读取这个 pipeline.config 文件并在运行时更改参数。请帮帮我。

【问题讨论】:

    标签: python file tensorflow tf.keras object-detection-api


    【解决方案1】:

    @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/')
    

    【讨论】:

      【解决方案2】:

      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。

      【讨论】:

      • 非常感谢,但是我在保存配置文件时遇到了另一个问题,这是错误
      • 文件“C:\Anaconda\envs\tfod2.x\lib\site-packages\google\protobuf\text_format.py”,第 187 行,MessageToString 打印机.PrintMessage(消息)文件“C :\Anaconda\envs\tfod2.x\lib\site-packages\google\protobuf\text_format.py",第 428 行,在 PrintMessage if (message.DESCRIPTOR.full_name == _ANY_FULL_TYPE_NAME and AttributeError: 'dict' object has no attribute '描述符'
      • @BappyAhmed,我也遇到了同样的问题。如果您将 configs 参数指定为 configs['model'],则该方法有效。但是这次您只保存模型参数。 save_pipeline_config(configs['model'], 'path/to/save_dir')
      猜你喜欢
      • 1970-01-01
      • 2017-05-25
      • 2014-03-14
      • 1970-01-01
      • 2016-05-12
      • 2015-06-01
      • 1970-01-01
      相关资源
      最近更新 更多