Models¶
LightlyTrain supports training models from various libraries. See Supported Libraries for a list of supported libraries and models.
The model is specified in the train command with the model argument:
import lightly_train
if __name__ == "__main__":
lightly_train.train(
out="out/my_experiment",
data="my_data_dir",
model="torchvision/resnet50",
method="dino",
)
lightly-train train out="out/my_experiment" data="my_data_dir" model="torchvision/resnet50" method="dino"
Model names always follow the pattern <library name>/<model name>.
Instead of passing a model name, it is also possible to pass a model instance directly
to the train function:
import lightly_train
from torchvision.models import resnet50
if __name__ == "__main__":
model = resnet50()
lightly_train.train(
out="out/my_experiment",
data="my_data_dir",
model=model,
method="dino",
)
List Models¶
The list_models command lists all available models. Only models from installed
packages are listed.
import lightly_train
print(lightly_train.list_models())
lightly-train list_models
Supported Libraries¶
The following libraries are supported:
Torchvision¶
Supported models
ResNet
torchvision/resnet18torchvision/resnet34torchvision/resnet50torchvision/resnet101torchvision/resnet152
ConvNext
torchvision/convnext_basetorchvision/convnext_largetorchvision/convnext_smalltorchvision/convnext_tiny
TIMM¶
Important
TIMM must be installed with
pip install lightly-train[timm].
Supported models
timm/<model name>(all models are supported, see timm docs for a full list)
Examples
timm/resnet50timm/convnext_basetimm/vit_base_patch16_224
Ultralytics¶
Important
Ultralytics must be installed with
pip install lightly-train[ultralytics].
Warning
Using Ultralytics models might require a commercial Ultralytics license. See the Ultralytics website for more information.
Models ending with .pt load pre-trained weights by Ultralytics. Models ending with
.yaml are not pre-trained.
Supported models
YOLOv5
ultralytics/yolov5l.yamlultralytics/yolov5l6u.ptultralytics/yolov5lu.ptultralytics/yolov5lu.yamlultralytics/yolov5m.yamlultralytics/yolov5m6u.ptultralytics/yolov5mu.ptultralytics/yolov5mu.yamlultralytics/yolov5n.yamlultralytics/yolov5n6u.ptultralytics/yolov5nu.ptultralytics/yolov5nu.yamlultralytics/yolov5s.yamlultralytics/yolov5s6u.ptultralytics/yolov5su.ptultralytics/yolov5su.yamlultralytics/yolov5x.yamlultralytics/yolov5x6u.ptultralytics/yolov5xu.ptultralytics/yolov5xu.yaml
YOLOv6
ultralytics/yolov6l.yamlultralytics/yolov6m.yamlultralytics/yolov6n.yamlultralytics/yolov6s.yamlultralytics/yolov6x.yaml
YOLOv8
ultralytics/yolov8l-cls.ptultralytics/yolov8l-cls.yamlultralytics/yolov8l-obb.ptultralytics/yolov8l-obb.yamlultralytics/yolov8l-oiv7.ptultralytics/yolov8l-pose.ptultralytics/yolov8l-pose.yamlultralytics/yolov8l-seg.ptultralytics/yolov8l-seg.yamlultralytics/yolov8l-world.ptultralytics/yolov8l-world.yamlultralytics/yolov8l-worldv2.ptultralytics/yolov8l-worldv2.yamlultralytics/yolov8l.ptultralytics/yolov8l.yamlultralytics/yolov8m-cls.ptultralytics/yolov8m-cls.yamlultralytics/yolov8m-obb.ptultralytics/yolov8m-obb.yamlultralytics/yolov8m-oiv7.ptultralytics/yolov8m-pose.ptultralytics/yolov8m-pose.yamlultralytics/yolov8m-seg.ptultralytics/yolov8m-seg.yamlultralytics/yolov8m-world.ptultralytics/yolov8m-world.yamlultralytics/yolov8m-worldv2.ptultralytics/yolov8m-worldv2.yamlultralytics/yolov8m.ptultralytics/yolov8m.yamlultralytics/yolov8n-cls.ptultralytics/yolov8n-cls.yamlultralytics/yolov8n-obb.ptultralytics/yolov8n-obb.yamlultralytics/yolov8n-oiv7.ptultralytics/yolov8n-pose.ptultralytics/yolov8n-pose.yamlultralytics/yolov8n-seg.ptultralytics/yolov8n-seg.yamlultralytics/yolov8n.ptultralytics/yolov8n.yamlultralytics/yolov8s-cls.ptultralytics/yolov8s-cls.yamlultralytics/yolov8s-obb.ptultralytics/yolov8s-obb.yamlultralytics/yolov8s-oiv7.ptultralytics/yolov8s-pose.ptultralytics/yolov8s-pose.yamlultralytics/yolov8s-seg.ptultralytics/yolov8s-seg.yamlultralytics/yolov8s-world.ptultralytics/yolov8s-world.yamlultralytics/yolov8s-worldv2.ptultralytics/yolov8s-worldv2.yamlultralytics/yolov8s.ptultralytics/yolov8s.yamlultralytics/yolov8x-cls.ptultralytics/yolov8x-cls.yamlultralytics/yolov8x-obb.ptultralytics/yolov8x-obb.yamlultralytics/yolov8x-oiv7.ptultralytics/yolov8x-pose.ptultralytics/yolov8x-pose.yamlultralytics/yolov8x-seg.ptultralytics/yolov8x-seg.yamlultralytics/yolov8x-world.ptultralytics/yolov8x-world.yamlultralytics/yolov8x-worldv2.ptultralytics/yolov8x-worldv2.yamlultralytics/yolov8x.ptultralytics/yolov8x.yaml
SuperGradients¶
Important
SuperGradients must be installed with
pip install lightly-train[super-gradients].
Warning
SuperGradients support is still experimental. There might be unexpected warnings in the logs.
Supported models
PP-LiteSeg
super_gradients/pp_lite_b_segsuper_gradients/pp_lite_b_seg50super_gradients/pp_lite_b_seg75super_gradients/pp_lite_t_segsuper_gradients/pp_lite_t_seg50super_gradients/pp_lite_t_seg75
SSD
super_gradients/ssd_lite_mobilenet_v2super_gradients/ssd_mobilenet_v1
YOLO-NAS
super_gradients/yolo_nas_lsuper_gradients/yolo_nas_msuper_gradients/yolo_nas_pose_lsuper_gradients/yolo_nas_pose_msuper_gradients/yolo_nas_pose_nsuper_gradients/yolo_nas_pose_ssuper_gradients/yolo_nas_s
Custom Models¶
See Custom Models for information on how to train custom models.