Convolutional

CONVOLUTIONAL

DeepLabV3

        classDiagram
    class DeepLabV3 {
        +bool onnx_supported
        +bool features_last
        +ModelType model_type
        +int num_spatial_dims
        +bool register
        +check_input_shape() None
        +forward() torch.Tensor | tuple[torch.Tensor, torch.Tensor]
        +get_classification_head() Sequential
        +get_decoder() DeepLabV3Decoder
        +get_segmentation_head() Sequential
        +initialize() None
        +initialize_decoder() None
        +initialize_head() None
        +predict() Tensor
        +validate_input_shape() tuple
    }
    class BaseModel {
    }
    <<abstract>> BaseModel
    BaseModel <|-- DeepLabV3 : herits
    class ModelABC {
        +bool register
        +int in_channels
        +int out_channels
        +tuple input_shape
        +check_required_attributes() None
    }
    <<abstract>> ModelABC
    ModelABC <|-- DeepLabV3 : herits
    class Module
    <<abstract>> Module
    Module <|-- DeepLabV3 : herits
    class DeepLabV3Plus {
    }
    DeepLabV3 <|-- DeepLabV3Plus : herits
    

DeepLabV3

DeepLabV3 implementation from "Rethinking Atrous Convolution for Semantic Image Segmentation".

DeepLabV3Plus

        classDiagram
    class DeepLabV3Plus {
    }
    class DeepLabV3 {
        +bool onnx_supported
        +bool features_last
        +ModelType model_type
        +int num_spatial_dims
        +bool register
        +check_input_shape() None
        +forward() torch.Tensor | tuple[torch.Tensor, torch.Tensor]
        +get_classification_head() Sequential
        +get_decoder() DeepLabV3Decoder
        +get_segmentation_head() Sequential
        +initialize() None
        +initialize_decoder() None
        +initialize_head() None
        +predict() Tensor
        +validate_input_shape() tuple
    }
    DeepLabV3 <|-- DeepLabV3Plus : herits
    class BaseModel {
    }
    <<abstract>> BaseModel
    BaseModel <|-- DeepLabV3Plus : herits
    class ModelABC {
        +bool register
        +int in_channels
        +int out_channels
        +tuple input_shape
        +check_required_attributes() None
    }
    <<abstract>> ModelABC
    ModelABC <|-- DeepLabV3Plus : herits
    class Module
    <<abstract>> Module
    Module <|-- DeepLabV3Plus : herits
    

DeepLabV3Plus

DeepLabV3+ implementation from "Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation".

HalfUNet

        classDiagram
    class HalfUNet {
        +bool onnx_supported
        +tuple supported_num_spatial_dims
        +int num_spatial_dims
        +bool features_last
        +ModelType model_type
        +bool register
        #_block() Sequential
        +forward() Tensor
        +validate_input_shape() tuple
    }
    class BaseModel {
    }
    <<abstract>> BaseModel
    BaseModel <|-- HalfUNet : herits
    class ModelABC {
        +bool register
        +int in_channels
        +int out_channels
        +tuple input_shape
        +check_required_attributes() None
    }
    <<abstract>> ModelABC
    ModelABC <|-- HalfUNet : herits
    class Module
    <<abstract>> Module
    Module <|-- HalfUNet : herits
    

CustomUNet

        classDiagram
    class CustomUNet {
        +int num_spatial_dims
        +bool register
        +forward() Tensor
        +validate_input_shape() Tuple
    }
    class BaseModel {
    }
    <<abstract>> BaseModel
    BaseModel <|-- CustomUNet : herits
    class ModelABC {
        +bool register
        +int in_channels
        +int out_channels
        +tuple input_shape
        +check_required_attributes() None
    }
    <<abstract>> ModelABC
    ModelABC <|-- CustomUNet : herits
    class Module
    <<abstract>> Module
    Module <|-- CustomUNet : herits
    

CustomUNet

CustomUNet is a model that allows the user to define a specific configuration, from pretrained weights or not (from ResNet encoders).

UNet

        classDiagram
    class UNet {
        +int num_spatial_dims
        +bool register
        #_block() Sequential
        +forward() Tensor
        +validate_input_shape() tuple
    }
    class BaseModel {
    }
    <<abstract>> BaseModel
    BaseModel <|-- UNet : herits
    class ModelABC {
        +bool register
        +int in_channels
        +int out_channels
        +tuple input_shape
        +check_required_attributes() None
    }
    <<abstract>> ModelABC
    ModelABC <|-- UNet : herits
    class Module
    <<abstract>> Module
    Module <|-- UNet : herits
    

UNet

Returns a UNet architecture, with uninitialised weights, matching desired numbers of input and output channels.