v0.17.0
[0.17.0] - 2026-07-28
Added
Changed
- Raise the default mixup and mosaic probability from
0.5to0.75for
ltdetrv2-s/m/l/xobject detection models. Other LTDETR models are unaffected. - Lower the default
backbone_lr_factorfrom0.05to0.0025forltdetrv2-m/l/x
object detection models.ltdetrv2-sand other LTDETR models are unaffected.
Deprecated
Removed
Fixed
- Fix incorrect TensorRT inference for LT-DETR object detection and instance
segmentation. TensorRT's optimizer/fusion pass around theGridSampleops used by
deformable attention silently produced wrong activations, corrupting detections and
masks, even with parser-compatible mode names. Deployment/export now replaces
grid_samplewith a gather-based bilinear equivalent that contains noGridSample
op, so neither the parser mode-name issue nor the optimizer bug can apply; training
keeps the faster fusedgrid_sample.
Security
What's Changed
- feat: add ltdetrv2-m-coco and ltdetrv2-l-coco checkpoint aliases by @gabrielfruet in #887
- Add aligned delta1 to metric depth benchmarks by @mrpositron in #913
- Update README with LTDETRv2 m/l benchmark results by @gabrielfruet in #894
- docs: add ltdetrv2 m/l COCO benchmarks and checkpoints by @gabrielfruet in #900
- Document LTDETRv2 instance segmentation by @yutong-xiang-97 in #906
- Match ltdetrv2 mixup/mosaic and backbone LR to benchmark recipe by @gabrielfruet in #914
- Fix LT-DETR ONNX verification by @yutong-xiang-97 in #916
- Fix TensorRT GridSample inference for LT-DETR by @yutong-xiang-97 in #917
- Fix object detection export notebook inference by @yutong-xiang-97 in #918
- release v0.17.0 by @gabrielfruet in #919
Full Changelog: v0.16.4...v0.17.0
v0.16.4
[0.16.4] - 2026-07-24
Added
- Add TIPSv2 vision backbones:
dinov2/vitb14-tipsv2,dinov2/vitl14-tipsv2,
dinov2/vitso400m14-tipsv2, anddinov2/vitg14-tipsv2. - Add LTDETRv2 instance segmentation with
ltdetrv2-seg-s/m/l/xmodels and
COCO-pretrained checkpoints for fine-tuning or out-of-the-box inference. - Add SAHI inference for LTDETRv2 instance segmentation through
model.predict_sahi().
Changed
- Warn when a built-in distillation teacher is used with non-ImageNet input
normalization, which can produce invalid teacher features.
Removed
- Remove the DINOv3.1 pretraining method.
Fixed
- Preserve exponential-moving-average updates when resuming training, preventing a
spurious validation-metric drop after the first resumed update. - Skip degenerate predicted boxes during validation visualization and log a warning
instead of crashing. - Restore installation and package imports by using a released LightlySSL dependency.
What's Changed
- Install git in Docker image by @mrpositron in #899
- Add TIPSv2 Support by @guarin in #701
- Preserve EMA updates when resuming training by @yutong-xiang-97 in #892
- Add SAHI inference for LT-DETRv2 instance segmentation by @yutong-xiang-97 in #895
- Add documentation on normalization for distillation by @liopeer in #901
- Add LTDETRv2 segmentation COCO checkpoints and defaults by @yutong-xiang-97 in #902
- Add benchmark script for inference by @liopeer in #897
- Reorganize task sections across the README and documentation by @yutong-xiang-97 in #905
- fix: skip degenerate predicted boxes in val visualization instead of crashing by @gabrielfruet in #907
- Update README for LTDETRv2 instance segmentation by @yutong-xiang-97 in #908
- Remove dinov31 by @liopeer in #910
- Bump version to 0.16.4 by @liopeer in #911
Full Changelog: v0.16.3...v0.16.4
v0.16.3
[0.16.3] - 2026-07-22
Added
- Add support for LingBot Vision backbones
dinov3/vits16-lingbot,dinov3/vitb16-lingbot, anddinov3/vitl16-lingbot. - Add LingBot Vision backbones to the DINOv3 EoMT semantic, panoptic, and instance
segmentation tasks:dinov3/vits16-lingbot-eomt,dinov3/vitb16-lingbot-eomt, and
dinov3/vitl16-lingbot-eomt. - Add tiny, tiny-plus, and small Depth Anything V3 depth estimation models — the
smallest and fastest so far, distilled from ViT-L:dinov3/dav3-relative-tiny,
dinov3/dav3-relative-tiny-plus,dinov2/dav3-relative-small,
dinov3/dav3-metric-tiny,dinov3/dav3-metric-tiny-plus, and
dinov2/dav3-metric-small.
Changed
- ONNX export for LT-DETR object detection now returns raw logits and normalized
bounding boxes. Postprocessing is supposed to be applied outside the graph.
Deprecated
Removed
- Remove the DINOv3 EoMT semantic segmentation training
model_args.patch_sizeoption.
The patch size is now determined by the selected model name; use a
dinov3/vit*32-eomtmodel, such asdinov3/vits32-eomt-coco, to train with patch
size 32.
Fixed
- Fix ONNX export verification for task models:
Tensor.is_floating_pointwas
referenced without calling it, so the always-truthy bound method forced integer
outputs (e.g. labels) through the float comparison path instead of the intended
exact-match check.
Security
What's Changed
- docs(settings): document nancapture debug utility by @gabrielfruet in #842
- Fix uncalled
Tensor.is_floating_pointin ONNX export verification by @yutong-xiang-97 in #855 - Add model registry for eomt instance segmentation by @liopeer in #857
- Refactor YAML loading for datasets by @liopeer in #852
- Model registry for EoMT Semantic Segmentation by @liopeer in #859
- Add DINOv3 ViT-Tiny/TinyPlus and ViT-S depth estimation inference variants by @mrpositron in #863
- Add model registry for picodet by @liopeer in #862
- Add ONNX and TensorRT export for LT-DETR instance segmentation by @yutong-xiang-97 in #861
- Add PCA feature visualization notebook by @mrpositron in #865
- Add debugging tools tutorial by @gabrielfruet in #856
- Integrate Jupyter notebooks into documentation by @gabrielfruet in #864
- Use weakly typed networks by default for TensorRT export by @yutong-xiang-97 in #870
- Model registries for panoptic models by @liopeer in #868
- Apply all EdgeCrafter spatial feature blocks by @yutong-xiang-97 in #871
- Add LingBot-Vision Support by @mrpositron in #874
- Use LT-DETRv2 models in task training tests by @yutong-xiang-97 in #866
- Add: dinov31 DINOv2 post-train method with PaKA dense-relational loss by @IgorSusmelj in #837
- Uploading Depth Anything v3 Checkpoints by @mrpositron in #858
- feat(ltdetr): enforce 4 px min bbox guard in train transforms (TRN-2312) by @gabrielfruet in #869
- Add: adamw8bit optimizer support for lower memory usage by @IgorSusmelj in #838
- Fix dinov31 unit tests by @liopeer in #882
- Rename tutorials by @yutong-xiang-97 in #879
- Decouple object detection preprocessing and postprocessing by @liopeer in #877
- Update Readme with Depth Estimation Benchmarks by @mrpositron in #884
- Streamline training and export tutorials by @yutong-xiang-97 in #881
- docs: document distillation default teacher per version (TRN-2293) by @gabrielfruet in #872
- Move LT-DETR export to torch dynamo by @liopeer in #878
- Add LingBot Support to Segmentation Tasks (Semantic, Panoptic, Instance) by @mrpositron in #886
- Update Docs by @mrpositron in #889
- Fixing Linear Semantic Segmentation Bugs by @mrpositron in #880
- Add LT-DETRv2 instance segmentation tutorials by @yutong-xiang-97 in #891
- Move exports to mixin classes by @liopeer in #888
- Fix ckpt loading for fine-tuning by @liopeer in #893
- Prepare for the release 0.16.3 by @mrpositron in #898
Full Changelog: v0.16.2...v0.16.3
v0.16.2
[0.16.2] - 2026-07-10
Added
- Add
NaNCapturefor fine-tuning debugging: when a NaN/Inf is detected in parameter
gradients during training, save a self-contained capture (model state dict +
TrainModel class/init kwargs + the step's microbatches + RNG state) to
out_dir/debug/nan_capture/rank{R}/nan_capture.ptand halt training. Replay via
lightly_train._debug.nan_capture.load_nan_capture(dir).replay()to deterministically
reproduce the failure in a notebook/REPL. Enable with
debug_args.nancapture.enabled=True. - Add ONNX and TensorRT export for depth estimation models via the
export_onnxand
export_tensorrtmethods ofDepthAnythingDepthEstimation. - Add a
process_res_methodargument to depth estimationpredict/predict_batch:
"square_resize"(default),"upper_bound_resize", or"lower_bound_resize".
Changed
- Consolidate the separate Depth Anything V2/V3 depth estimation task models into a
single config-drivenDepthAnythingDepthEstimationmodel. - Depth estimation
predict/predict_batchnow default tosquare_resize(previously
aspect-preserving upper/lower-bound per model), changing default depth outputs. Pass
process_res_method="upper_bound_resize"/"lower_bound_resize"to restore the
previous geometry.
Removed
- Removes the
DINOv3LTDETRObjectDetectionandDINOv2LTDETRObjectDetectionclasses in
favor of the newLTDETRObjectDetectionclass. For the user, this changes nothing,
since they don't use the class directly, but only its methods, which will remain
available.
Fixed
- Fixed an issue with legacy LT-DETR checkpoints that used a [0,1] normalization instead
of the now-default ImageNet normalization.
What's Changed
- Consolidate Depth Estimation Tasks (attempt 2) by @mrpositron in #823
- Add 0.16.0 LTDETRv2 news entry to index by @mrpositron in #825
- Configs for LTDETR OD by @liopeer in #819
- Rename everything in LT-DETR from DINOv3 to Generic by @liopeer in #820
- feat: integrate HF DebugUnderflowOverflow into fine-tuning by @gabrielfruet in #814
- Reduce Double-Truth for LT-DETR Checkpoints and Aliases by @liopeer in #831
- Add ONNX/TensorRT Support to Depth Estimation by @mrpositron in #824
- Completely Reproduce DINOv2 LT-DETR in Generic One by @liopeer in #830
- Refactor task model for instance segmentation to remove DINOv3 by @yutong-xiang-97 in #833
- Refactor EoMT segmentation transforms into a shared package by @yutong-xiang-97 in #834
- feat: add NaN capture and replay for fine-tuning by @gabrielfruet in #826
- docs(_debug): document debug_args training setting by @gabrielfruet in #829
- docs: add model instability debugging page by @gabrielfruet in #813
- Refactor Object Detection Transforms by @yutong-xiang-97 in #835
- Refactor Image Processing for Depth Estimation by @mrpositron in #846
- Add LightlyTrain Banner to Readme by @mrpositron in #848
- Add Instance Segmentation Transforms by @yutong-xiang-97 in #836
- Add
train_model.pyfor LTDETR instance segmentation by @yutong-xiang-97 in #847 - Remove legacy DINOv2 LT-DETR model by @liopeer in #845
- Pre-release 0.16.2 by @liopeer in #854
Full Changelog: v0.16.1...v0.16.2
v0.16.1
[0.16.1] - 2026-06-26
Added
- Log the total gradient norm (
gradient_norm) during finetuning. It is shown in the
console asgrad_normand written to all configured loggers (JSONL, TensorBoard,
Weights & Biases, MLflow). It is the pre-clipping norm when gradient clipping is
enabled and the total gradient norm computed without clipping otherwise.
Fixed
- Fix checkpoint loading with
load_modelfor legacy checkpoints of LT-DETR.
What's Changed
- Update Mixup and Mosaic Augmentations for LTDETR Instance Segmentation by @yutong-xiang-97 in #810
- Fix docs by @yutong-xiang-97 in #812
- Consolidate Depth Estimation Tasks by @mrpositron in #807
- feat: log gradient norm during training by @gabrielfruet in #811
- Hotfix for LT-DETR loading by @liopeer in #815
- Get ready for release 0.16.1 by @liopeer in #816
- Revert "Consolidate Depth Estimation Tasks" (#807) by @mrpositron in #817
Full Changelog: v0.16.0...v0.16.1
v0.16.0
[0.16.0] - 2026-06-25
Added
- Add LTDETRv2, an improved object detection model that reaches 50.7
mAP50:95 on the COCO 2017 validation set (+1 mAP50:95 over the
previous LTDETR with a 55% shorter training schedule) and 5.4ms latency on an NVIDIA
T4 (TensorRT, FP16, batch size 1, 640x640). Use the compactltdetrv2-s/m/l/xmodels,
which are built on EdgeCrafter ECViT backbones. - Add depth estimation inference with Depth Anything V2 and V3 models, covering both
relative and metric depth (dinov2/dav2-relative-*,dinov2/dav2-metric-*,
dinov2/dav3-relative-large,dinov2/dav3-metric-large). Checkpoints are converted
to the LightlyTrain format; the Apache-2.0 models are hosted for download, while the
CC-BY-NC-4.0 Depth Anything V2 variants must be converted locally with
convert_checkpoint_dav2. - Add the
benchmark_object_detectioncommand (beta) to measure inference
performance of an object detection model on a validation dataset. It reports detection
accuracy (mAP/mAR, including per-class mAP) and timing statistics (latency and
throughput), and writes a JSON result and a human-readable Markdown report. This is
useful to compare inference backends and precisions before deployment. See the
benchmarking documentation
for details. - Add Slicing Aided Hyper Inference (SAHI) for EoMT instance segmentation to improve
small instance recall at inference viamodel.predict_sahi()method.
Changed
- Update LTDETRv2 training defaults: the default
batch_sizeis now32(was16),
the default training schedule is266_112steps (6x ECDet-S, ~72 epochs at batch size
32),backbone_lr_factoris now0.05(was1e-2), andlr_warmup_stepsdefaults
to"auto"so short runs no longer warm up for longer than they train.
What's Changed
- Upgrade workflow defaults to be compatible with Node24 by @yutong-xiang-97 in #755
- Support Any Backbone Pt1 by @liopeer in #742
- Make dinov3 ltdetr object detection ONNX/TensorRT export work with FP16 by @simonschoelly in #751
- Fix failing onnx export tests by switching to torch dynamo by @simonschoelly in #752
- Revise README for commercial license details by @matthiasheller in #767
- Add Depth Estimation (DAv3) to LightlyTrain by @mrpositron in #762
- Update MLFlowLogger to use SQLite tracking URI for tests by @mrpositron in #770
- Refactoring the depth estimation (DAv3) inference code by @mrpositron in #768
- Add tiling utilities for SAHI support for instance segmentation by @yutong-xiang-97 in #773
- Add predict_sahi for EoMT instance segmentation by @yutong-xiang-97 in #774
- Add docs for SAHI for instance segmentation by @yutong-xiang-97 in #775
- feat: add ECViT LTDETR backbone wrapper by @gabrielfruet in #772
- switch license headers by @liopeer in #763
- Benchmark command for object detection by @simonschoelly in #764
- Replace torch.tile with torch.cat for better ONNX export by @simonschoelly in #783
- Add license information by @liopeer in #784
- feat: incorporate ECViT backbones into DINOv3 LTDETR by @gabrielfruet in #778
- Fix handler test for CI by @yutong-xiang-97 in #785
- Add Metric Depth Estimation (DAv3) by @mrpositron in #776
- Add Depth Estimation (DAv2) to LightlyTrain by @mrpositron in #779
- Any backbone for linear segmentation by @liopeer in #777
- Rename Linear Segmentation by @liopeer in #780
- Add DAv2 Metric Inference by @mrpositron in #786
- Add init file to linseg by @liopeer in #789
- Dependency group for tensorrt and ONNX by @liopeer in #790
- Fix overflow in LT-DETR ViT-S TensorRT by @liopeer in #792
- Point Index banner to the Demo Page (Docs) by @mrpositron in #793
- Add EdgeCrafter Components for Instance Segmentation by @yutong-xiang-97 in #787
- Refactor LTDETR task model by @yutong-xiang-97 in #791
- docs: EdgeCrafter LTDETR by @gabrielfruet in #781
- Host checkpoints and refactor the code by @mrpositron in #788
- Update Docs and Readme for Depth Estimation Inference by @mrpositron in #797
- Add Favicon by @mrpositron in #799
- Add benchmark command to docs by @liopeer in #794
- Update README with contact information by @matthiasheller in #796
- Add task_model.py for LTDETR Instance Segmentation by @yutong-xiang-97 in #795
- Add ltdetrv2-s/m/l/x aliases for EdgeCrafter LT-DETR models by @gabrielfruet in #800
- Improve flat cosine error message by @gabrielfruet in #804
- Add Matcher and Losses for LTDETRv2 Instance Segmentation by @yutong-xiang-97 in #803
- docs: ECViT-T benchmark and 0.16.0 news entry (TRN-1948) by @gabrielfruet in #801
- feat: update LTDETRv2 defaults and host ECViT-T checkpoint by @gabrielfruet in #798
- Update YOLO tutorial, change YOLOv11 with YOLOv26 by @mrpositron in #805
- fix: replace broken ltdetrv2-s-coco checkpoint by @gabrielfruet in #806
- Update Docs, README, and CHANGELOG for New Release by @yutong-xiang-97 in #808
- Release v0.16.0 by @yutong-xiang-97 in #809
Full Changelog: v0.15.1...v0.16.0
v0.15.1
[0.15.1] - 2026-05-28
Added
- Add image logging for all fine-tuning tasks. Sample predictions are saved locally and
forwarded to configured loggers (TensorBoard, Weights & Biases, MLflow). - Add
predict_batchfor batched inference across all fine-tuning tasks. - Configurable
patch_sizefor DINOv3 LT-DETR models. - Added decoder and losses from D-FINE.
- Add support for choosing LR scheduler for LTDETR object detection. You can specify the
scheduler withmodel_args.scheduler_name, choosing eitherlinearorflat-cosine. - ONNX export for models that support dynamic batch sizes can now specify if the batch
size should be dynamic with thedynamic_batch_sizekeyword argument. - Explicit support for all YOLO26 variants.
Fixed
- Fix PicoDet fine-tuning with mismatched
num_classes. - Fix DINOv3 LT-DETR patch size precedence so
model_args.patch_sizeoverrides the
backbone default.
What's Changed
- Cleanup augmentation update by @yutong-xiang-97 in #705
- Simon add coco instance segmentation dataset by @simonschoelly in #687
- Add Jinja2 template for object detection by @simonschoelly in #708
- Fix Training Crash Caused by Assertion Failure in
generalized_box_iouby @yutong-xiang-97 in #707 - Better hash for data mmap hash by @simonschoelly in #706
- Object Detection Image Logging (Open for Discussion) by @mrpositron in #709
- Fix default font loading to handle TypeError gracefully by @mrpositron in #713
- added LightlyTrain in Research section by @gabrielfruet in #716
- Add image logging for classification training by @mrpositron in #714
- Fix DINOv3 patch size precedence by @gabrielfruet in #717
- Fix PicoDet finetune with mismatched num_classes by @mrpositron in #721
- Add image logging for semantic segmentation training by @mrpositron in #718
- Decode RLE encoded COCO segmetation datasets by @simonschoelly in #710
- Add image logging for instance segmentation training by @mrpositron in #722
- Add image logging for panoptic segmentation training by @mrpositron in #724
- Add Flat Cosine Scheduler for LT-DETR by @gabrielfruet in #719
- Add gemma4_vit_ architecture support to TIMM model prefixes by @mrpositron in #727
- Add D-FINE Decoder by @yutong-xiang-97 in #711
- Fix dynamic batch sizes for onnx export by @simonschoelly in #591
- Dynamic batch size in changelog by @simonschoelly in #732
- Refactor training visualizations into task-specific handlers by @mrpositron in #726
- Feat support variable patch size for DINOv3 LT-DETR by @gabrielfruet in #720
- Image logging support for picodet by @mrpositron in #733
- Add yolo26 models by @liopeer in #735
- Transition to
uv syncby @liopeer in #730 - Adds image logging to ML tracking platforms by @mrpositron in #736
- Add Predict Batch Method to Object Detection by @mrpositron in #738
- Add Predict Batch Method to Instance Segmentation by @mrpositron in #741
- Add Predict Batch Method to Image Classification by @mrpositron in #746
- add resolve auto for scheduler params by @yutong-xiang-97 in #740
- Refactor predict to reuse predict_batch components in object detection by @mrpositron in #748
- Add Predict Batch Method to Semantic Segmentation by @mrpositron in #744
- Add Predict Batch Method to Panoptic Segmentation by @mrpositron in #747
- Preparing for release 0.15.1 by @mrpositron in #754
Full Changelog: v0.15.0...v0.15.1
v0.15.0
[0.15.0] - 2026-04-16
New Distillation Method and Custom Teacher Models: We release the new
Distillationv3
method that achieves better generalization across fine-tuning tasks and works better
with DINOv3 teacher models. The new method also supports using
custom teacher models
Added
- Add distillationv3 method for dense as well as global feature distillation.
- Add support for custom teacher models with distillationv3.
- Add support for the new
EUPE models from Meta for all
distillation, pretraining, and fine-tuning tasks. For example, use
dinov3/vits16-eupeinstead ofdinov3/vits16to load the EUPE pretrained ViT-S/16
model. See the
documentation
for all supported models. - Add
Mosaicaugmentation for LTDETR object detection training. - Add
CopyBlendaugmentation for LTDETR object detection training. - Add
MixUpaugmentation for LTDETR object detection training. - Add logging of completed
epochs to the console and the loggers. - Add support for COCO object detection dataset format.
- Semantic segmentation now allows one to specify classes from a JSON file.
Changed
- Default distillation method is now v3 (previously v2), with a DINOv3 teacher instead
of a DINOv2 teacher. Previous default still available withmethod="distillationv2". - Make
ScaleJitterin LTDETR step-aware. Now you can stop the augmentation by adding a
step_stopargs like the following
transform_args={"scale_jitter": {"step_stop": 10000}}
Removed
- Remove
StopPolicyand useActivationPolicyinstead for more fine-grained control
over the step-aware augmentations.
What's Changed
- Distill from any model by @liopeer in #660
- Distill from custom models by @liopeer in #668
- Upper bound for rfdetr dependency by @liopeer in #669
- update EMA by @yutong-xiang-97 in #670
- Parse labels in YoloObjectDetectionDatasetArgs.list_image_info by @simonschoelly in #674
- Fix CUDA OOM by reducing feature map size by @liopeer in #676
- Add step-aware LTDETR scale jitter control by @yutong-xiang-97 in #675
- Add Step-aware MixUp Augmentation by @yutong-xiang-97 in #679
- Log Epochs in Console and Loggers by @yutong-xiang-97 in #680
- added version to tracker.py by @mrpositron in #682
- Add Step-aware CopyBlend Augmentation by @yutong-xiang-97 in #684
- Add coco object detection dataset by @simonschoelly in #677
- Bump min RF-DETR version to 1.4.1 by @simonschoelly in #688
- Add docs for COCO object detection dataset by @simonschoelly in #683
- Add mosaic transform and args - Part 1 by @yutong-xiang-97 in #690
- Distillationv3: Add convolutional detection heuristic by @liopeer in #678
- bump nbdev version by @yutong-xiang-97 in #695
- Apply Mosaic transform in ObjectDetectionTransform by @yutong-xiang-97 in #694
- Add EUPE support by @guarin in #696
- Refactor StopPolicy by @yutong-xiang-97 in #697
- Fix epoch calculation by @yutong-xiang-97 in #698
- Allow specifying classes from a json file for semantic segmentation by @simonschoelly in #699
- Document distillationv3 + make it default by @liopeer in #691
- Document EUPE Models by @guarin in #700
- Resolve default start and stop step based on total number of steps automatically. by @yutong-xiang-97 in #702
- Make ready for release of 0.15.0 by @liopeer in #704
New Contributors
- @mrpositron made their first contribution in #682
Full Changelog: v0.14.3...v0.15.0
v0.14.3
guarin
released this
Added
- Add support for DINOv2 panoptic segmentation inference and fine-tuning.
- Add support for
metric_argsin all fine-tuning commands to allow configuring the metrics used for validation and best model checkpointing. See the documentation for details. - Add option to freeze the backbone for all EoMT models during training with the
model_args={"backbone_freeze": True}argument. - Add
YOLOOrientedObjectDetectionDatasetfor loading YOLO oriented object detection datasets with (cx, cy, w, h, angle) bounding boxes.
Changed
- PicoDet switched to O2O NMS-free inference/export, updated L preset to
picodet/l-640, and improved ONNX/TensorRT export robustness.
Removed
- It is no longer possible to set
seed=None. Instead, an integer seed must be provided for reproducibility. This fixes a bug where recent PyTorch Lightning versions (>=2.2) no longer generate random seeds whenseed=Noneis set. - LTDETR no longer supports the
detector_weight_decayandbackbone_weight_decayarguments. Instead use the generalweight_decayargument.
Fixed
- Fix incorrect model name format in
export_model()log example for DINOv2 and DINOv3 packages. The example now shows the correct format (without prefix) that works withget_model(). - Fix the wrong config of ScaleJitter sizes of LT-DETR.
- Fix a bug when loading DINOv3 LTDETR checkpoints that were not pretrained on COCO which resulted in backbone weights not being loaded.
What's Changed
- Gradient Accumulation for Task Training by @liopeer in #627
- Add metric_args by @guarin in #629
- Ignore grad acc warning by @guarin in #632
- Oriented Object Detection Tranforms, collation and types. by @gabrielfruet in #616
- Skip slow multihead test on windows by @guarin in #638
- Simplify fine-tuning learning rate logging by @guarin in #633
- Add DINOv2 EoMT Panoptic Segmentation by @guarin in #630
- Improve metrics naming by @guarin in #639
- Move collate functions to respective transforms by @guarin in #641
- Picodet improvements is by @IgorSusmelj in #599
- Add EoMT backbone freezing by @guarin in #636
- Remove cmake install in github actions by @guarin in #648
- Add torch.compile support for image classification by @guarin in #640
- Improve user id handling by @guarin in #644
- Update seed behavior by @guarin in #651
- Fix STA learning rate by @guarin in #646
- Refactor scale jitter by @guarin in #643
- Remove extra config validation by @guarin in #652
- Skip slow windows tests by @guarin in #654
- Unify DINOv3 fine-tuning backbone loading by @guarin in #642
- Remove detector weight decay by @guarin in #647
- Allow nonfinite clip gradient by @guarin in #653
- Add LightlyStudio link to README by @michal-lightly in #657
- Raise error if
best_metrics.metrics.watch_metric != last_metrics.watch_metricby @yutong-xiang-97 in #659 - Fix ScaleJitter Config by @yutong-xiang-97 in #658
- Fix mypy issues by @yutong-xiang-97 in #661
- No longer test supergradients by @guarin in #649
- Log ci container by @guarin in #655
- Add YOLOOrientedObjectDetectionDataset for oriented object detection by @gabrielfruet in #650
- fix: correct model name format in export_model log example by @gabrielfruet in #656
- Update metrics_args documentation by @guarin in #663
- Accumulate train loss with gradient_accumulation_steps by @guarin in #662
- Improve loss running window handling by @guarin in #664
- Disable torch.compile by default by @guarin in #666
- Release v0.14.3 by @guarin in #667
New Contributors
- @michal-lightly made their first contribution in #657
Full Changelog: v0.14.2...v0.14.3
v0.14.2
guarin
released this
[0.14.2] - 2026-02-24
New Classification Support: You can now train image classification models with LightlyTrain! See the classification documentation for more information.
Added
- Add
classification support - Add support for frozen backbone training in LTDETR and Picodet object detection
models. Setmodel_args={"backbone_freeze": True}intrain_object_detectionto
freeze the backbone and reduce VRAM usage. - Add LTDETR support for DINOv3 ViT-B/L and DINOv2 ViT-L/B/G models. Pretrained weights
are not yet available for these models. - Add support for fine-tuning DINOv2 models for instance segmentation with the
train_instance_segmentationcommand. See the
instance segmentation documentation
for more information.
Fixed
- Filter invalid bounding boxes in instance segmentation
- Fix incorrect logging of training times.
What's Changed
- Update UV by @guarin in #606
- Relax tests by @guarin in #607
- Add Image Classification Implementation by @guarin in #608
- Implement functions for reading YOLO OBB labels. by @gabrielfruet in #609
- Filter invalid bounding boxes in instance segmentation by @guarin in #610
- Add dinov2 eomt instance segmentation by @guarin in #611
- Add more ltdetr configs by @guarin in #612
- Add image classification multihead by @guarin in #613
- Add semantic segmentation multihead by @guarin in #614
- Fix pywinpty CI error by @guarin in #621
- Update GPU/Data time logging by @guarin in #617
- Document classification by @guarin in #620
- Raise error if backbone weights file doesn't exist by @guarin in #622
- Update license logs by @guarin in #623
- Object Detection backbone freezing option by @gabrielfruet in #618
- Fix timer tests by @guarin in #625
- Release 0.14.2 by @guarin in #626
New Contributors
- @gabrielfruet made their first contribution in #609
Full Changelog: v0.14.1...v0.14.2