コンテンツにスキップ

ObjectDetectionLogger Class

ml_debugger.monitoring.object_detection.object_detection_torchlogger.ObjectDetectionTorchLogger

Bases: MonitoringLogger, ObjectDetectionTorchTracer

Base MonitoringLogger for 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, img_sizes): Convert model output to a standardized DetectionOutput.
Optionally override
  • _apply_nms_config(model, nms_config): Apply NMS parameters to the model.

__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_image=None)

Initialize object detection monitoring logger.

引数:

名前 タイプ デスクリプション デフォルト

model

Module

PyTorch model to trace.

必須

model_name

str

Name of the ML model.

必須

version_name

str

Version identifier for the ML model.

必須

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_image

Optional[int]

Maximum detections per image 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.

引数:

名前 タイプ デスクリプション デフォルト

model_input

Any

Input data for the model inference.

必須

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.

{}

戻り値:

タイプ デスクリプション
Any

The raw output produced by the model.

get_hooked_features(layer_name)

Retrieve the captured output for a given layer alias.

引数:

名前 タイプ デスクリプション デフォルト

layer_name

str

Alias of the layer whose activation was captured.

必須

戻り値:

名前 タイプ デスクリプション
Any Any

Activation data stored for the specified layer.

発生:

タイプ デスクリプション
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().

引数:

名前 タイプ デスクリプション デフォルト

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

戻り値:

タイプ デスクリプション
Optional[Path]

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

wait_for_save(interval=3)

upload()