arch
The arch config group determines the model architecture used by mml. Currently there are two backbone libraries:
timm and
segmentation-models-pytorch. The former supports
classification and regression tasks while the latter supports classification and segmentation tasks.
Default config option is arch=timm. Call arch=smp for segmentation models.
timm
- name
- default: resnet34
the identifier of the model architecture in the timm library - to be passed to timm.create_model(model_name=…)
full list of models can be found here: https://huggingface.co/docs/timm/models
also note the timm.list_models() option (https://huggingface.co/docs/timm/reference/models#timm.list_models)
- pretrained
- default: true
boolean to indicate whether the model should be initialized with pretraiend weights (timm.create_model(pretrained=…)
results files for pretrained weights: https://github.com/huggingface/pytorch-image-models/tree/main/results
- drop_rate
- default: 0.
dropout rate, set to some value within [0, 1), will be used to initialize a torch.nn.Dropout layer at the beginning of each classifier head
smp
- arch
- default: unet
segmentation architecture, passed to smp.create_model(arch=…)
options are [unet, unetplusplus, manet, linknet, fpn, pspnet, deeplabv3, deeplapv3plus, pan]
- encoder
- default: tu-resnet34
the encoder backbone to use, passed to smp.create_model(encoder_name=…)
for a full list of supported backbones, see https://smp.readthedocs.io/en/latest/encoders.html
the <<tu->> prefix automatically tries to use a timm encoder, see https://smp.readthedocs.io/en/latest/encoders_timm.html
- weights
- default: imagenet
weight initialization of the backbone, passed to smp.create_model(encoder_weights=…)
supported weights per backbone are found here: https://smp.readthedocs.io/en/latest/encoders.html