Source code for composer.models.ssd.ssd_hparams

# Copyright 2022 MosaicML. All Rights Reserved.

"""`YAHP <https://docs.mosaicml.com/projects/yahp/en/stable/README.html>`_ interface for :class:`.SSD`."""

from dataclasses import dataclass

import yahp as hp

from composer.models.model_hparams import ModelHparams

__all__ = ["SSDHparams"]


[docs]@dataclass class SSDHparams(ModelHparams): """`YAHP <https://docs.mosaicml.com/projects/yahp/en/stable/README.html>`_ interface for :class:`.SSD`. Args: input_size (int, optional): input image size. Default: ``300``. num_classes (int, optional): The number of classes to detect. Default: ``80``. overlap_threshold (float, optional): Minimum IOU threshold for NMS. Default: ``0.5``. nms_max_detections (int, optional): Max number of boxes after NMS. Default: ``200``. data (str, optional): path to coco dataset. Default: ``"/localdisk/coco"``. """ input_size: int = hp.optional( doc="input size", default=300, ) num_classes: int = hp.optional( doc="num_classes", default=80, ) overlap_threshold: float = hp.optional( doc="threshold", default=0.5, ) nms_max_detections: int = hp.optional( doc="nms max dets", default=200, ) data: str = hp.optional( doc="data", default="/localdisk/coco", ) def initialize_object(self): from composer.models.ssd.ssd import SSD return SSD( input_size=self.input_size, overlap_threshold=self.overlap_threshold, nms_max_detections=self.nms_max_detections, num_classes=self.num_classes, data=self.data, )