Source code for composer.models.efficientnetb0.model

# Copyright 2021 MosaicML. All Rights Reserved.

"""A :class:`.ComposerClassifier` wrapper around the EfficientNet-b0 architecture."""
from composer.models.efficientnetb0.efficientnets import EfficientNet
from composer.models.tasks import ComposerClassifier

__all__ = ["EfficientNetB0"]


[docs]class EfficientNetB0(ComposerClassifier): """A :class:`.ComposerClassifier` wrapper around the EfficientNet-b0 architecture. From `Rethinking Model Scaling for Convolutional Neural Networks <https://arxiv.org/abs/1905.11946>`_ (Tan et al, 2019). Args: num_classes (int, optional): The number of classes. Needed for classification tasks. Default: ``1000``. drop_connect_rate (float, optional): Probability of dropping a sample within a block before identity connection. Default: ``0.2``. Example: .. testcode:: from composer.models import EfficientNetB0 model = EfficientNetB0() # creates EfficientNet-b0 for image classification """ def __init__(self, num_classes: int = 1000, drop_connect_rate: float = 0.2) -> None: model = EfficientNet.get_model_from_name( "efficientnet-b0", num_classes, drop_connect_rate, ) super().__init__(module=model)