NVIDIA Morpheus (24.10.01)
(Latest Version)

morpheus.modules.filter_detections

Functions

<a href="#morpheus.modules.filter_detections.filter_detections">filter_detections</a>(builder) Filter message by a classification threshold.
filter_detections(builder)[source]

Filter message by a classification threshold.

The FilterDetections is used to filter rows from a dataframe based on values in a tensor using a specified criteria. Rows in the meta dataframe are excluded if their associated value in the probs array is less than or equal to threshold.

This module can operate in two different modes set by the <a href="https://docs.python.org/3/library/copy.html#module-copy">copy</a> argument. When the <a href="https://docs.python.org/3/library/copy.html#module-copy">copy</a> argument is <a href="https://docs.python.org/3/library/constants.html#True">True</a> (default), rows that meet the filter criteria are copied into a new dataframe. When <a href="https://docs.python.org/3/library/constants.html#False">False</a> sliced views are used instead.

Setting copy=True should be used when the number of matching records is expected to be both high and in non-adjacent rows. In this mode, the stage will generate only one output message for each incoming message, regardless of the size of the input and the number of matching records. However this comes at the cost of needing to allocate additional memory and perform the copy. Note: In most other stages, messages emitted contain a reference to the original MessageMeta emitted into the pipeline by the source stage. When using copy mode this won’t be the case and could cause the original MessageMeta to be deallocated after this stage.

Setting copy=False should be used when either the number of matching records is expected to be very low or are likely to be contained in adjacent rows. In this mode, slices of contiguous blocks of rows are emitted in multiple output messages. Performing a slice is relatively low-cost, however for each incoming message the number of emitted messages could be high (in the worst case scenario as high as half the number of records in the incoming message). Depending on the downstream stages, this can cause performance issues, especially if those stages need to acquire the Python GIL.

Parameters
buildermrc.Builder

An mrc Builder object.

Notes

Configurable Parameters:
  • copy (bool): Whether to copy the rows or slice them; Example: true; Default: true

  • field_name (str): Name of the field to filter on; Example: probs; Default: probs

  • filter_source (str): Source of the filter field; Example: AUTO; Default: AUTO

  • schema (dict): Schema configuration; See Below; Default: -

  • threshold (float): Threshold value to filter on; Example: 0.5; Default: 0.5

schema:
  • encoding (str): Encoding; Example: “latin1”; Default: “latin1”

  • input_message_type (str): Pickled message type; Example: pickle_message_type; Default: [Required]

  • schema_str (str): Schema string; Example: “string”; Default: [Required]

Previous morpheus.modules.filter_control_message
Next morpheus.modules.from_control_message
© Copyright 2024, NVIDIA. Last updated on Dec 3, 2024.