object_detection.builders.post_processing_builderbuild()方法的参数及返回值解析
发布时间:2023-12-29 16:46:56
object_detection.builders.post_processing_builder.build()方法是用来构建后处理步骤的。它的参数和返回值如下所示:
参数:
1. post_processing_config:一个PostProcessing proto对象,该对象指定了要使用的后处理方法。
2. class_agnostic: 一个布尔值,表示是否考虑类别无关的任务。如果为True,则表示仅有一个类别。如果为False,则表示有多个类别。
3. use_static_shapes: 一个布尔值,表示是否使用静态形状。
返回值:
一个后处理器对象(post_processing.PostProcessor)。
使用例子:
from object_detection.builders import post_processing_builder from object_detection.protos import post_processing_pb2 # 创建一个PostProcessing proto对象 post_processing_config = post_processing_pb2.PostProcessing() post_processing_config.batch_non_max_suppression.score_threshold = 0.5 post_processing_config.batch_non_max_suppression.iou_threshold = 0.8 post_processing_config.batch_non_max_suppression.max_detections_per_class = 10 post_processing_config.batch_non_max_suppression.max_total_detections = 100 # 构建后处理步骤 post_processor = post_processing_builder.build(post_processing_config, class_agnostic=False, use_static_shapes=False)
在以上例子中,我们首先从post_processing_pb2模块中导入PostProcessing类。然后,我们创建了一个PostProcessing对象,并为其设置了一些属性,如score_threshold、iou_threshold、max_detections_per_class 和 max_total_detections。这些属性将用于后处理步骤。最后,我们使用post_processing_builder.build()方法来构建一个后处理器对象,并将其赋值给post_processor变量。
不同的PostProcessing对象可以具有不同的参数设置,这取决于使用的后处理方法。用户可以根据任务需求和模型配置来自定义PostProcessing对象。
