Skip to content

ObjectDetection3DLogger Class

ml_debugger.monitoring.object_detection_3d.object_detection_3d_torchlogger.ObjectDetection3DTorchLogger

Bases: MonitoringLogger, ObjectDetection3DTorchTracer

Base MonitoringLogger for 3D object detection tasks using PyTorch models.

Subclasses must implement the following abstract methods
  • detect(model): Static method to check if this subclass handles the model.
  • _get_n_class(model): Extract number of classes from the model.
  • _register_model_hooks(model): Register forward hooks for logit capture.
  • _parse_model_output(model_output): Convert model output to a standardized Detection3DOutput.
Optionally override
  • _is_nms_free(): Return True if the model uses NMS-free inference.

__init__(model, model_name, version_name, result_name=None, n_epoch='latest', target_layers=None, additional_fields=None, auto_sync=True, force_table_recreate=False, api_endpoint=None, api_key=None, n_class=None, score_thresh=None, iou_thresh=None, max_detections_per_frame=None)

Initialize 3D object detection monitoring logger.

Parameters:

Name Type Description Default

model

Module

PyTorch model to trace.

required

model_name

str

Name of the ML model.

required

version_name

str

Version identifier for the ML model.

required

result_name

Optional[str]

The name of the existing evaluation result to retrieve.

None

n_epoch

Union[str, Optional[int]]

Filter option for n_epoch value.

'latest'

target_layers

Optional[Dict[str, str]]

Mapping of layer aliases to module paths.

None

additional_fields

Optional[List[dict]]

Extra fields for database schema.

None

auto_sync

bool

Enable background syncing of logged data.

True

force_table_recreate

bool

Whether to drop and recreate existing tables.

False

api_endpoint

Optional[str]

URL of the service API for data upload.

None

api_key

Optional[str]

API key for authenticating with the service.

None

n_class

Optional[int]

Number of classes. Auto-detected from model if None.

None

score_thresh

Optional[float]

Minimum score threshold for user-visible NMS decisions.

None

iou_thresh

Optional[float]

IoU threshold for user-visible NMS decisions.

None

max_detections_per_frame

Optional[int]

Maximum detections per frame for user-visible output.

None

__call__(model_input, input_ids=None, dataset_type='deploying', **kwargs)

Invoke the logger on a single inference, recording I/O data.

Parameters:

Name Type Description Default

model_input

Any

Input data for the model inference.

required

input_ids

Optional[List[str]]

Identifiers of each input data.

None

dataset_type

str

Identifier of input dataset. (e.g. 'train', 'val', 'test', 'deploying')

'deploying'

**kwargs

Any

Additional keyword arguments for parsing and saving I/O data.

{}

Returns:

Type Description
Any

The raw output produced by the model.

get_hooked_features(layer_name)

Retrieve the captured output for a given layer alias.

Parameters:

Name Type Description Default

layer_name

str

Alias of the layer whose activation was captured.

required

Returns:

Name Type Description
Any Any

Activation data stored for the specified layer.

Raises:

Type Description
KeyError

If no activation has been captured for layer_name.

export(output_path=None)

Export extracted features into a ZIP archive.

Uses the internal n_epoch resolved during validator setup to filter records, consistent with upload() and wait_for_save().

Parameters:

Name Type Description Default

output_path

Optional[str]

Path or directory for saving the ZIP file. If no .zip extension, the default filename is appended. Defaults to cwd.

None

Returns:

Type Description
Optional[Path]

Path to the created ZIP file, or None on non-primary distributed ranks.

wait_for_save(interval=3)

upload()