Models#
aitlas.models.alexnet module#
AlexNet model for multiclass and multilabel classification
- class AlexNet(config)[source]#
Bases:
BaseMulticlassClassifier
AlexNet model implementation
Note
- name = 'AlexNet'#
aitlas.models.cnn_rnn module#
CNNRNN model
- class CNNRNN(config)[source]#
Bases:
BaseMultilabelClassifier
CNNRNN model implementation.
- schema#
alias of
CNNRNNModelSchema
aitlas.models.convnext module#
ConvNeXt tiny model
- class ConvNeXtTiny(config)[source]#
Bases:
BaseMulticlassClassifier
ConvNeXtTiny model implementation
Note
- name = 'ConvNeXt tiny'#
aitlas.models.deeplabv3 module#
DeepLabV3 model
aitlas.models.deeplabv3plus module#
DeepLabV3Plus model
- class DeepLabV3Plus(config)[source]#
Bases:
BaseSegmentationClassifier
DeepLabV3Plus model implementation
Note
Based on qubvel/segmentation_models.pytorch
aitlas.models.densenet module#
DenseNet161 model for multiclass classification
- class DenseNet161(config)[source]#
Bases:
BaseMulticlassClassifier
DenseNet161 model implementation
Note
- name = 'DenseNet161'#
aitlas.models.efficientnet module#
EfficientNetB0 (V1) for image classification
- class EfficientNetB0(config)[source]#
Bases:
BaseMulticlassClassifier
EfficientNetB0 model implementation
Note
- name = 'EfficientNetB0'#
- class EfficientNetB0MultiLabel(config)[source]#
Bases:
BaseMultilabelClassifier
- name = 'EfficientNetB0'#
- class EfficientNetB4(config)[source]#
Bases:
BaseMulticlassClassifier
- name = 'EfficientNetB4'#
- class EfficientNetB4MultiLabel(config)[source]#
Bases:
BaseMultilabelClassifier
- name = 'EfficientNetB4'#
- class EfficientNetB7(config)[source]#
Bases:
BaseMulticlassClassifier
- name = 'EfficientNetB7'#
aitlas.models.efficientnet_v2 module#
EfficientNetV2 model
- class EfficientNetV2(config)[source]#
Bases:
BaseMulticlassClassifier
EfficientNetV2 model implementation
- name = 'EfficientNetV2'#
aitlas.models.fasterrcnn module#
FasterRCNN model for object detection
aitlas.models.fcn module#
FCN model for segmentation
aitlas.models.hrnet module#
HRNet model for segmentation
- class HRNetModule(head, pretrained=True, higher_res=False)[source]#
Bases:
Module
HRNet model implementation
Note
Based on huggingface/pytorch-image-models
Pretrained backbone for HRNet. :param head: Output head :type head: nn.Module :param pretrained: If True, uses imagenet pretrained weights :type pretrained: bool :param higher_res: If True, retains higher resolution features :type higher_res: bool
aitlas.models.inceptiontime module#
InceptionTime model
Note
Original implementation of InceptionTime model dl4sits/BreizhCrops
- class InceptionTime(config)[source]#
Bases:
BaseMulticlassClassifier
InceptionTime model implementation
Note
Based dl4sits/BreizhCrops
- schema#
alias of
InceptionTimeSchema
aitlas.models.lstm module#
LSTM model
Note
Original implementation of LSTM model: dl4sits/BreizhCrops
- class LSTM(config)[source]#
Bases:
BaseMulticlassClassifier
LSTM model implementation
Note
Based on <dl4sits/BreizhCrops>
- schema#
alias of
LSTMSchema
aitlas.models.mlp_mixer module#
MLP-Mixer architecture for image classification.
- class MLPMixer(config)[source]#
Bases:
BaseMulticlassClassifier
MLP mixer multi-class b16_224 model implementation
Note
Based on <huggingface/pytorch-image-models>
- name = 'MLP mixer b16_224'#
- class MLPMixerMultilabel(config)[source]#
Bases:
BaseMultilabelClassifier
MLP mixer multi-label b16_224 model implementation
Note
Based on <huggingface/pytorch-image-models>
- name = 'MLP mixer b16_224'#
aitlas.models.msresnet module#
MRSResNet model
Note
Adapted from dl4sits/BreizhCrops
Original implementation of MSResNet model: geekfeiw/Multi-Scale-1D-ResNet and dl4sits/BreizhCrops
- class BasicBlock3x3(inplanes3, planes, stride=1, downsample=None)[source]#
Bases:
Module
- expansion = 1#
- class BasicBlock5x5(inplanes5, planes, stride=1, downsample=None)[source]#
Bases:
Module
- expansion = 1#
- class BasicBlock7x7(inplanes7, planes, stride=1, downsample=None)[source]#
Bases:
Module
- expansion = 1#
- class MSResNet(config)[source]#
Bases:
BaseMulticlassClassifier
MSResNet model implementation
Note
Based on <dl4sits/BreizhCrops>
- schema#
alias of
MSResNetSchema
aitlas.models.omniscalecnn module#
OmniScaleCNN model implementation
Note
Adapted from dl4sits/BreizhCrops
Original implementation of OmniScaleCNN model: dl4sits/BreizhCrops
- class build_layer_with_layer_parameter(layer_parameters)[source]#
Bases:
Module
formerly build_layer_with_layer_parameter
Note
layer_parameters format : [in_channels, out_channels, kernel_size, in_channels, out_channels, kernel_size, …, nlayers ]
- class OmniScaleCNN(config)[source]#
Bases:
BaseMulticlassClassifier
OmniScaleCNN model implementation
Note
Based on <dl4sits/BreizhCrops>
- schema#
alias of
OmniScaleCNNSchema
aitlas.models.resnet module#
ResNet50 and ResNet152 models for multi-class and multi-label classification
- class ResNet50(config)[source]#
Bases:
BaseMulticlassClassifier
ResNet50 multi-class model implementation.
Note
- name = 'ResNet50'#
- class ResNet152(config)[source]#
Bases:
BaseMulticlassClassifier
ResNet50 multi-label model implementation
Note
- name = 'ResNet152'#
- class ResNet50MultiLabel(config)[source]#
Bases:
BaseMultilabelClassifier
- name = 'ResNet50'#
aitlas.models.schemas module#
- class TransformerModelSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseClassifierSchema
Schema for configuring a transformer model.
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class InceptionTimeSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseClassifierSchema
Schema for configuring a InceptionTime model.
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class LSTMSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseClassifierSchema
Schema for configuring a LSTM model.
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class MSResNetSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseClassifierSchema
Schema for configuring a MSResNet model.
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class TempCNNSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseClassifierSchema
Schema for configuring a TempCNN model.
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class StarRNNSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseClassifierSchema
Schema for configuring a StarRNN model.
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class OmniScaleCNNSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseClassifierSchema
Schema for configuring a OmniScaleCNN model.
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class UnsupervisedDeepMulticlassClassifierSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseModelSchema
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class UNetEfficientNetModelSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseSegmentationClassifierSchema
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
- class CNNRNNModelSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]#
Bases:
BaseModelSchema
- Parameters:
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>#
aitlas.models.shallow module#
- class ShallowCNNNet(config)[source]#
Bases:
BaseMulticlassClassifier
Simlpe shallow multi-class CNN network for testing purposes
aitlas.models.starrnn module#
StarRNN model for multiclass classification
Note
Adapted from dl4sits/BreizhCrops
Original implementation of StarRNN model: dl4sits/BreizhCrops
Author: Türkoglu Mehmet Özgür <ozgur.turkoglu@geod.baug.ethz.ch>
- class StarRNN(config)[source]#
Bases:
BaseMulticlassClassifier
StarRNN model implementation
- schema#
alias of
StarRNNSchema
aitlas.models.swin_transformer module#
Swin Transformer V2 model for multi-class and multi-label classification tasks.
- class SwinTransformer(config)[source]#
Bases:
BaseMulticlassClassifier
A Swin Transformer V2 implementation for multi-class classification tasks.
Note
Initialize a SwinTransformer object with the given configuration.
- Parameters:
config (Config schema object) – A configuration containing model-related settings.
- name = 'SwinTransformerV2'#
- freeze()[source]#
Freeze all the layers in the model except for the head. This prevents the gradient computation for the frozen layers during backpropagation.
- forward(x)[source]#
Perform a forward pass through the model.
- Parameters:
x (torch.Tensor) – Input tensor with shape (batch_size, channels, height, width).
- Returns:
Output tensor with shape (batch_size, num_classes).
- Return type:
- class SwinTransformerMultilabel(config)[source]#
Bases:
BaseMultilabelClassifier
A Swin Transformer V2 implementation for multi-label classification tasks.
Note
Initialize a SwinTransformerMultilabel object with the given configuration.
- Parameters:
config (Config schema object) – A configuration object containing model-related settings.
- name = 'SwinTransformerV2'#
- freeze()[source]#
Freeze all the layers in the model except for the head. This prevents the gradient computation for the frozen layers during backpropagation.
- forward(x)[source]#
Perform a forward pass through the model.
- Parameters:
x (torch.Tensor) – Input tensor with shape (batch_size, channels, height, width).
- Returns:
Output tensor with shape (batch_size, num_classes).
- Return type:
aitlas.models.tempcnn module#
Temporal Convolutional Neural Network (TempCNN) model
Note
Adapted from: dl4sits/BreizhCrops
Original implementation(s) of TempCNN model: dl4sits/BreizhCrops and charlotte-pel/temporalCNN
- class TempCNN(config)[source]#
Bases:
BaseMulticlassClassifier
TempCNN model implementation
Note
Based on <dl4sits/BreizhCrops>
- schema#
alias of
TempCNNSchema
- class Conv1D_BatchNorm_Relu_Dropout(input_dim, hidden_dims, kernel_size=5, drop_probability=0.5)[source]#
Bases:
Module
aitlas.models.transformer module#
Transformer model
Note
Adapted from: dl4sits/BreizhCrops
Original implementation of Transformer model: dl4sits/BreizhCrops
- class TransformerModel(config)[source]#
Bases:
BaseMulticlassClassifier
Transformer model for multi-class classification model implementation
- schema#
alias of
TransformerModelSchema
aitlas.models.unet module#
UNet model for segmentation
- class Unet(config)[source]#
Bases:
BaseSegmentationClassifier
UNet segmentation model implementation.
Note
Based on <qubvel/segmentation_models.pytorch>
aitlas.models.unet_efficientnet module#
- post_process_single(sourcefile, watershed_line=True, conn=2, polygon_buffer=0.5, tolerance=0.5, seed_msk_th=0.75, area_th_for_seed=110, prediction_threshold=0.5, area_th=80, contact_weight=1.0, edge_weight=0.0, seed_contact_weight=1.0, seed_edge_weight=1.0)[source]#
- class GenEfficientNet(block_args, num_classes=1000, in_channels=3, num_features=1280, stem_size=32, fix_stem=False, channel_multiplier=1.0, channel_divisor=8, channel_min=None, pad_type='', act_layer=<class 'torch.nn.modules.activation.ReLU'>, drop_connect_rate=0.0, se_kwargs=None, norm_layer=<class 'torch.nn.modules.batchnorm.BatchNorm2d'>, norm_kwargs=None, weight_init='goog')[source]#
Bases:
Module
- class UNetEfficientNet(config)[source]#
Bases:
BaseSegmentationClassifier
Unet EfficientNet model implementation. .. note:: Based on <SpaceNetChallenge/SpaceNet_SAR_Buildings_Solutions>
:param config : the configuration for this model :type config : UNetEfficientNetModelSchema
- schema#
alias of
UNetEfficientNetModelSchema
- train_and_evaluate_model(train_dataset, epochs=100, model_directory=None, save_epochs=10, iterations_log=100, resume_model=None, val_dataset=None, run_id=None, **kwargs)[source]#
Overridden method for training on the SpaceNet6 data set.
- Parameters:
train_dataset (SpaceNet6Dataset) –
epochs (int) –
model_directory (str | None) –
save_epochs (int) –
iterations_log (int) –
resume_model (str | None) –
val_dataset (SpaceNet6Dataset | None) –
run_id (str | None) –
- evaluate(dataset=None, model_path=None)[source]#
- Parameters:
dataset (SpaceNet6Dataset | None) –
model_path (str | None) –
aitlas.models.unsupervised module#
DeepCluster model
- class UnsupervisedDeepMulticlassClassifier(config)[source]#
Bases:
BaseMulticlassClassifier
Unsupervised Deep Learning model implementation
Note
Based on Deep Clustering: <facebookresearch/deepcluster>
- schema#
aitlas.models.vgg module#
VGG16 model
- class VGG16(config)[source]#
Bases:
BaseMulticlassClassifier
VGG16 model implementation
Note
Based on: <https://pytorch.org/vision/stable/models/generated/torchvision.models.vgg16.html#torchvision.models.vgg16>
- name = 'VGG16'#
- class VGG19(config)[source]#
Bases:
BaseMulticlassClassifier
- name = 'VGG19'#
- class VGG16MultiLabel(config)[source]#
Bases:
BaseMultilabelClassifier
- name = 'VGG16'#
aitlas.models.vision_transformer module#
VisionTransformer model (base_patch16_224)
- class VisionTransformer(config)[source]#
Bases:
BaseMulticlassClassifier
VisionTransformer model implementation
Note
Based on: <huggingface/pytorch-image-models>
- name = 'ViT base_patch16_224'#