otx.core.model.detection#
Class definition for detection model entity used in OTX.
Classes
|
Base class for the detection models used in OTX. |
|
Object detection model compatible for OpenVINO IR inference. |
- class otx.core.model.detection.OTXDetectionModel(label_info: LabelInfoTypes, data_input_params: DataInputParams, model_name: str = 'otx_detection_model', optimizer: OptimizerCallable = <function _default_optimizer_callable>, scheduler: LRSchedulerCallable | LRSchedulerListCallable = <function _default_scheduler_callable>, metric: MetricCallable = <function _mean_ap_f_measure_callable>, torch_compile: bool = False, tile_config: TileConfig = TileConfig(enable_tiler=False, enable_adaptive_tiling=True, tile_size=(400, 400), overlap=0.2, iou_threshold=0.45, max_num_instances=1500, object_tile_ratio=0.03, sampling_ratio=1.0, with_full_img=False))[source]#
Bases:
OTXModel
Base class for the detection models used in OTX.
Args: label_info (LabelInfoTypes): Information about the labels. data_input_params (DataInputParams): Parameters for data input. model_name (str, optional): Name of the model. Defaults to “otx_detection_model”. optimizer (OptimizerCallable, optional): Optimizer callable. Defaults to DefaultOptimizerCallable. scheduler (LRSchedulerCallable | LRSchedulerListCallable, optional): Scheduler callable. Defaults to DefaultSchedulerCallable. metric (MetricCallable, optional): Metric callable. Defaults to MeanAveragePrecisionFMeasureCallable. torch_compile (bool, optional): Whether to use torch compile. Defaults to False. tile_config (TileConfig, optional): Configuration for tiling. Defaults to TileConfig(enable_tiler=False). explain_mode (bool, optional): Whether to enable explain mode. Defaults to False.
Initialize the base model with the given parameters.
- Parameters:
label_info (LabelInfoTypes) – Information about the labels used in the model.
data_input_params (DataInputParams) – Parameters of the input data such as input size, mean, and std.
model_name (str, optional) – Name of the model. Defaults to “OTXModel”.
optimizer (OptimizerCallable, optional) – Callable for the optimizer. Defaults to DefaultOptimizerCallable.
scheduler (LRSchedulerCallable | LRSchedulerListCallable) – Callable for the learning rate scheduler. Defaults to DefaultSchedulerCallable.
metric (MetricCallable, optional) – Callable for the metric. Defaults to NullMetricCallable.
torch_compile (bool, optional) – Flag to indicate if torch.compile should be used. Defaults to False.
tile_config (TileConfig, optional) – Configuration for tiling. Defaults to TileConfig(enable_tiler=False).
- Returns:
None
- export_model_forward_context() Iterator[None] [source]#
A context manager for managing the model’s forward function during model exportation.
It temporarily modifies the model’s forward function to generate output sinks for explain results during the model graph tracing.
- forward_for_tracing(inputs: Tensor) list[InstanceData] [source]#
Forward function for export.
- forward_tiles(inputs: OTXTileBatchDataEntity) DetBatchPredEntity [source]#
Unpack detection tiles.
- Parameters:
inputs (TileBatchDetDataEntity) – Tile batch data entity.
- Returns:
Merged detection prediction.
- Return type:
DetBatchPredEntity
- get_dummy_input(batch_size: int = 1) DetBatchDataEntity [source]#
Returns a dummy input for detection model.
- on_load_checkpoint(ckpt: dict[str, Any]) None [source]#
Load state_dict from checkpoint.
For detection, it is need to update confidence threshold information when the metric is FMeasure.
- predict_step(batch: DetBatchDataEntity, batch_idx: int, dataloader_idx: int = 0) DetBatchPredEntity [source]#
Step function called during PyTorch Lightning Trainer’s predict.
- class otx.core.model.detection.OVDetectionModel(model_name: str, model_type: str = 'SSD', async_inference: bool = True, max_num_requests: int | None = None, use_throughput_mode: bool = True, model_api_configuration: dict[str, ~typing.Any] | None = None, metric: ~typing.Callable[[~otx.core.types.label.LabelInfo], ~torchmetrics.metric.Metric | ~torchmetrics.collections.MetricCollection] = <function _mean_ap_f_measure_callable>, **kwargs)[source]#
Bases:
OVModel
Object detection model compatible for OpenVINO IR inference.
It can consume OpenVINO IR model path or model name from Intel OMZ repository and create the OTX detection model compatible for OTX testing pipeline.
Initialize the base model with the given parameters.
- Parameters:
label_info (LabelInfoTypes) – Information about the labels used in the model.
data_input_params (DataInputParams) – Parameters of the input data such as input size, mean, and std.
model_name (str, optional) – Name of the model. Defaults to “OTXModel”.
optimizer (OptimizerCallable, optional) – Callable for the optimizer. Defaults to DefaultOptimizerCallable.
scheduler (LRSchedulerCallable | LRSchedulerListCallable) – Callable for the learning rate scheduler. Defaults to DefaultSchedulerCallable.
metric (MetricCallable, optional) – Callable for the metric. Defaults to NullMetricCallable.
torch_compile (bool, optional) – Flag to indicate if torch.compile should be used. Defaults to False.
tile_config (TileConfig, optional) – Configuration for tiling. Defaults to TileConfig(enable_tiler=False).
- Returns:
None