Ultralytics v8.1.0 Release Notes
Introduction
Ultralytics proudly announces the v8.1.0 release of YOLOv8, celebrating a year of remarkable achievements and advancements. This version continues our commitment to making AI technology accessible and powerful, reflected in our latest breakthroughs and improvements.
2023 in Review
- Record-Breaking Engagement: Over 20 million downloads of the Ultralytics package, with 4 million in December alone! 📈
- Massive Model Training: An incredible 19 million YOLOv8 models were trained in 2023, showing the widespread adoption and versatility of our platform. 🌐
- Diverse Model Usage: 64% of these models were for object detection, 20% for instance segmentation, 15% for pose estimation, and 1% for image classification. 📊
- Expanding Global Reach: YOLOv8 reached 5 million users in 2023 and was run in 15 billion inference jobs across various industries, showcasing its real-world impact. 🌍
- Documentation in Multiple Languages: Our docs are now available in 11 languages, catering to our diverse global community. 📚
Ultralytics v8.1.0 Key Highlights
- YOLOv8 OBB Models: The introduction of Oriented Bounding Box models in YOLOv8 marks a significant step in object detection, especially for angled or rotated objects, enhancing accuracy and reducing background noise in various applications such as aerial imagery and text detection.
- Segmentation Support & Enhancements: Enhanced segmentation capabilities offer more precise image analysis, with improved classification augmentations integrated into Ultralytics training pipelines.
- Performance Optimizations: Since our initial release last year we've focused on optimizing every aspect of the YOLOv8 framework, including training, validation, inference, and export, ensuring speed and efficiency without compromising performance.
- Enhanced Model Architecture & Training Features: Incremental updates in model architecture, training features, and dataset support, including integration with Open Images V7 dataset and improved image classification models.
- API and CLI Improvements: Enhanced user experience with refined API and CLI, including the Ultralytics Explorer tool for advanced dataset exploration and interaction.
- PaddlePaddle, NCNN, PNNX, TensorRT & Other Integrations: Strengthened integration with multiple other platforms, offering users more deployment flexibility and compatibility for YOLOv8 users.
- Diverse Contributions & Ultralytics HUB Evolution: The integration of almost 1000 pull requests by 230 contributors and the growth of Ultralytics HUB, with it's own series of version updates, highlights the community's vital role in the development of YOLOv8.
Community Engagement and Support
- Expanding Documentation: Our documentation now spans 11 languages, with over 200 pages, providing comprehensive guides for various real-world applications.
- Custom-Trained YOLOv8 Models: With the ability to train models on custom data, 19 million YOLOv8 models were trained in 2023 alone, catering to diverse needs across object detection, segmentation, pose estimation, and image classification.
- User Contributions: We encourage and appreciate user-contributed examples and stories, showcasing the versatility and real-world impact of YOLOv8.
Summary
Ultralytics v8.1.0 is a testament to a year of innovation, with the integration of Oriented Object Detection, enhanced classification models, and a strong focus on user experience and community engagement. We thank our users and contributors for their invaluable support and look forward to another year of groundbreaking advancements in the field of AI and computer vision in 2024! 🌟🚀🎉
What's Changed
- Initial pip structure by @AyushExel in #1
- Update requirements.txt by @glenn-jocher in #9
- Normalize version with dev0 by @glenn-jocher in #11
- Create ci.yaml by @glenn-jocher in #10
- Update requirements.txt with
fire>=0.4.0
by @glenn-jocher in #12 - tensorflow-macos comment by @glenn-jocher in #14
- Add yolo package structure by @AyushExel in #15
- Create init.py by @glenn-jocher in #17
- Add missing setup.py fields by @glenn-jocher in #18
- Update ci.yaml by @glenn-jocher in #21
- Trainer + Dataloaders by @AyushExel in #27
- Metrics and loss structure by @AyushExel in #28
- Model builder by @AyushExel in #29
- Add initial model interface by @AyushExel in #30
- Smart Model loading by @AyushExel in #31
- Fix dataloader by @Laughing-q in #32
- Classify training cleanup by @glenn-jocher in #33
- Hydra *.yml extension deprecated fix by @glenn-jocher in #34
- Create dependabot.yml by @glenn-jocher in #38
- Bump actions/setup-python from 3 to 4 by @dependabot in #39
- Update ci.yaml by @glenn-jocher in #37
- Fix dataloader2 by @Laughing-q in #35
- Segmentation support & other enchancements by @AyushExel in #40
- Add is_colab() and is_kaggle() by @glenn-jocher in #41
- [rename] - preprocess-batch -> preprocess, preprocess_preds -> postprocess by @AyushExel in #42
- new check_dataset functions by @AyushExel in #43
- update model initialization design, supports custom data/num_classes by @AyushExel in #44
- Allow setting model attributes before training by @AyushExel in #45
- Fix some cuda training issues of segmentation by @Laughing-q in #46
- Logging fix from YOLOv5 by @glenn-jocher in #47
- General console printout updates by @glenn-jocher in #48
- Add EMA and model checkpointing by @AyushExel in #49
- Cli support by @AyushExel in #50
- Add clearml logging by @AyushExel in #51
- Add warmup and accumulation by @AyushExel in #52
- Deterministic training by @AyushExel in #53
- CLI updates by @AyushExel in #58
- update segment training by @Laughing-q in #57
- standalone val by @AyushExel in #56
- Detection support by @AyushExel in #60
- docs setup by @AyushExel in #61
- Create CITATION.cff by @glenn-jocher in #62
- Fix CITATION.cff typos by @glenn-jocher in #64
- add resuming by @Laughing-q in #63
- Flake8 updates by @glenn-jocher in #66
- Predictor support by @AyushExel in #65
- [WIP] Model interface by @AyushExel in #68
- General cleanup by @Laughing-q in #69
- Revert augment_hyps by @Laughing-q in #70
- Update docs by @AyushExel in #71
- Model enhancement by @AyushExel in #75
- update docs by @AyushExel in #76
- Change class depending on dataset in model interface by @AyushExel in #77
- add a naive DDP for model interface by @Laughing-q in #78
- Make config overrides user friendly by @AyushExel in #80
- Update docs by @AyushExel in #73
- Add v8 modules by @AyushExel in #81
- Update
cache_version = 1.0
by @glenn-jocher in #82 - Simplify cli.py and fix Detect train Usage by @glenn-jocher in #83
- Add flops, num_params, inference speed logging and best.pt logging by @AyushExel in #84
- Rename
img_size
toimgsz
by @glenn-jocher in #86 - Update metrics names by @glenn-jocher in #85
- Add TensorBoard support by @glenn-jocher in #87
- Use integrations only in master process by @AyushExel in #89
- YOLOv8 architecture updates from R&D branch by @glenn-jocher in #88
- YOLOv5 updates by @glenn-jocher in #90
- ClearML: Mosaic Logging by @AyushExel in #91
- Fix ClearML Mosaic callback to 'on_train_epoch_end' by @glenn-jocher in #92
- Simplify augmentations by @glenn-jocher in #93
- Import YOLOv5 dataloader by @AyushExel in #94
- DDP and new dataloader Fix by @AyushExel in #95
- Shorten module paths with new 'nn' dir by @glenn-jocher in #96
- logger updates by @AyushExel in #97
- Add best.pt val and COCO pycocotools val by @glenn-jocher in #98
- Add l/x models by @glenn-jocher in #100
- Allocated updated pycocotools metrics fix by @Laughing-q in #101
- Make optimizer static method inside trainer by @AyushExel in #103
- Move tests outside package by @AyushExel in #104
- Fix
save_json(predn, batch)
by @glenn-jocher in #105 - Model interface enhancement by @AyushExel in #106
- Integration of v8 segmentation by @Laughing-q in #107
- Model enhancements 2 by @AyushExel in #109
- Make YOLO a module by @AyushExel in #111
- fix multiple dirs in DDP mode by @AyushExel in #113
- fix cache in new loader by @Laughing-q in #112
- Update save_dir rank check by @AyushExel in #114
- Start export implementation by @glenn-jocher in #110
- Import DEFAULT_CONFIG from utils/init.py by @glenn-jocher in #115
- Mask pycocotools by @Laughing-q in #116
- Create Exporter() Class by @glenn-jocher in #117
- Add YOLO8x6 and YAML syntax improvements by @glenn-jocher in #120
- Add CoreML iOS updates by @glenn-jocher in #121
- Docstring additions by @glenn-jocher in #122
- Add Dockerfiles and update Docs README by @glenn-jocher in #124
- Add global
settings.yaml
inUSER_CONFIG_DIR
by @glenn-jocher in #125 - Replace
nosave
andnoval
withsave
andval
by @glenn-jocher in #127 - Add pred, export and val callbacks by @AyushExel in #126
- HUB initial setup by @AyushExel in #108
- Override fixes and general updates by @glenn-jocher in #129
- [Docs]: Link buttons, add autobackend, BaseModel and ops by @AyushExel in #130
- Unified model loading with backwards compatibility by @glenn-jocher in #132
- Fix
yolo mode=train
CLI bug on model load by @glenn-jocher in #133 - CLI DDP fixes by @glenn-jocher in #135
- Fix CLI detect and segment resume by @AyushExel in #134
- Fix load and resume and update autodownload endpoint by @AyushExel in #136
- Fix resume by @Laughing-q in #138
- Pip debug fixes by @glenn-jocher in #139
- Simplify argument names by @glenn-jocher in #141
- Add colab template and minor fixes by @AyushExel in #137
- Improvements by @glenn-jocher in #142
- CoreML NMS and half fixes by @glenn-jocher in #143
- Add AutoBatch from YOLOv5 by @glenn-jocher in #145
- Merge
model()
andmodel.predict()
by @glenn-jocher in #146 - Clean validator by @Laughing-q in #144
- Global settings typechecking by @glenn-jocher in #148
- Default confidences predict 0.25, val 0.001 by @glenn-jocher in #149
- Add Comet integration by @AyushExel in #153
- Model saved_model export by @glenn-jocher in #151
- General trainer cleanup by @AyushExel in #147
- Add Classification model YAML support by @AyushExel in #154
- Fix segment coco val by @Laughing-q in #156
- [Docs]: Add customization tutorial and address feedback by @AyushExel in #155
- Fix Classification train logging by @glenn-jocher in #157
- Log lr for param groups by @AyushExel in #159
- Minor fixes by @Laughing-q in #162
- Update docs with YOLOv8 banner by @glenn-jocher in #160
- Map
ultralytics
andyolo
CLI commands by @AyushExel in #165 - fix dataset by @Laughing-q in #167
- README and Docs updates by @AyushExel in #166
- Return processed outputs from predictor by @AyushExel in #161
- Cleanup by @glenn-jocher in #168
- TensorRT Export Fix by @glenn-jocher in #171
- Start Multi-OS CI by @glenn-jocher in #172
- Add export to CI by @glenn-jocher in #174
- Create cla.yml by @glenn-jocher in #175
- Update notebooks by @glenn-jocher in #178
- Enable Docker deployment in docker.yaml by @glenn-jocher in #184
- Detection training zero-mAP fix by @glenn-jocher in #192
- Add YOLOv3 and YOLOv5 model *.yaml files by @AyushExel in #169
- Cleanup by @glenn-jocher in #197
- Add README.zh-CN.md by @RangeKing in #200
- Webcam inference fix by @AyushExel in #202
- Add YOLOv5 dataset yamls by @glenn-jocher in #207
- Docs: readme.md contributor image and quick start code fix by @onuralpszr in #213
- Minor updates and improvements by @glenn-jocher in #216
- is_docker() fix for
show=True
predict bug by @glenn-jocher in #218 - Fix
__len__
andsingle_cls
by @Laughing-q in #249 - Fix program exit by @hedrergudene in #254
- Add YOLO comparison plots by @glenn-jocher in #260
- Update modules.py by @Yulv-git in #222
- Fix YOLOv8 Chinese introduction by @Zengyf-CVer in #219
- Release 8.0.4 fixes by @AyushExel in #256
- README and Docs updates with A100 TensorRT times by @glenn-jocher in #270
- Update README.md by @glenn-jocher in #272
- Release 8.0.5 PR by @Laughing-q in #279
- PIL
.get_size()
deprecation fix by @glenn-jocher in #302 - Revert PIL deprecation fix by @glenn-jocher in #305
- COCO8 and COCO8-seg Pytest and CI updates by @glenn-jocher in #307
- General
ultralytics==8.0.6
updates by @glenn-jocher in #351 - Directory fix for git installs by @glenn-jocher in #355
- Reorder Dockerfile for reduced rebuilding by @glenn-jocher in #358
- Docker layer reorganization 2 by @glenn-jocher in #362
- General refactoring and improvements by @glenn-jocher in #373
- Ultralytics Live Session 3 - YOLOv8 https://youtu.be/IPcpYO5ITa8 by @pderrenger in #378
- New YOLOv8
Results()
class for prediction outputs by @AyushExel in #314 - Fix predict bug on show=True by @AyushExel in #452
- CLI Simplification by @glenn-jocher in #449
- fix im_files by @Laughing-q in #460
- Improved CLI error reporting for users by @glenn-jocher in #458
- Fix model re-fuse() in inference loops by @glenn-jocher in #466
ultralytics 8.0.11
bug fixes and performance improvements by @glenn-jocher in #495ultralytics 8.0.12
- Hydra removal by @glenn-jocher in #506- Fix entrypoint(debug=False) to True by @glenn-jocher in #530
- Fix
v.replace(" ", "")
by @glenn-jocher in #531 ultralytics 8.0.14
Hydra removal fixes and cleanup by @glenn-jocher in #542- Threadpool fixes and CLI improvements by @glenn-jocher in #550
- 8.0.15 CLI float bug fix by @glenn-jocher in #567
- Remove GitPython dependency by @glenn-jocher in #568
- DDP config error fix by @glenn-jocher in #578
ultralytics 8.0.18
new python callbacks and minor fixes by @AyushExel in #580ultralytics 8.0.19
seg/det dataset warning and DDP-cls/seg fixes by @glenn-jocher in #595- New
guess_model_task()
function by @glenn-jocher in #614 ultralytics 8.0.20
CLIyolo
simplifications, DDP and ONNX fixes by @glenn-jocher in #608- fix overlap_mask by @Laughing-q in #651
ultralytics 8.0.21
Windows, segments, YAML fixes by @glenn-jocher in #655- DDP, Comet, URLError fixes, improved error handling by @glenn-jocher in #658
- Support prediction of list of sources, in-memory dataset and other improvements by @AyushExel in #685
imgsz
warning fix, download function consolidation by @glenn-jocher in #681ultralytics 8.0.24
mosaic, DDP, download fixes by @glenn-jocher in #703- ImageNet names, classify inference, resume fixes by @glenn-jocher in #712
- Use new OpenVINO API instead of deprecated by @adrianboguszewski in #736
ultralytics 8.0.26
new YOLOv5u models by @glenn-jocher in #771- Support fuse-deconv-and-bn by @triple-Mu in #786
- Add
max_dim==2
argument tocheck_imgsz()
by @glenn-jocher in #789 - Update YOLOv5 YAMLs to 'u' YAMLs by @glenn-jocher in #800
ultralytics 8.0.29
DDP-cls and default arg fixes by @glenn-jocher in #813- Setup template for community examples by @AyushExel in #718
ultralytics 8.0.30
Docker, rect, data=*.zip updates by @glenn-jocher in #832- TAL
min_memory
argument, precommit, Docker fixes by @glenn-jocher in #836 - Return metrics, Update docs by @Laughing-q in #846
ultralytics 8.0.31
updates and fixes by @glenn-jocher in #857ultralytics 8.0.32
HUB and TensorFlow fixes by @glenn-jocher in #870- [Snyk] Security upgrade wheel from 0.30.0 to 0.38.0 by @glenn-jocher in #887
- Command injection and Path traversal security fixes by @glenn-jocher in #888
ultralytics 8.0.33
security updates and fixes by @glenn-jocher in #896ultralytics 8.0.34
security updates and fixes by @glenn-jocher in #924ultralytics 8.0.35
TensorRT, ONNX and OpenVINO predict and val by @glenn-jocher in #929- Add YOLOv8 ONNX C++ inference Example by @JustasBart in #856
- Check PyTorch model status for all
YOLO
methods by @glenn-jocher in #945 ultralytics 8.0.37
add TFLite metadata in AutoBackend by @glenn-jocher in #953- Fix
yolo checks
as a package bug in Colab by @glenn-jocher in #972 ultralytics 8.0.38
by @glenn-jocher in #977- Integrate ByteTracker and BoT-SORT trackers by @Laughing-q in #788
ultralytics 8.0.39
add ByteTracker and BoT-SORT trackers and fixes by @glenn-jocher in #984ultralytics 8.0.40
TensorRT metadata and Results visualizer by @glenn-jocher in #1014- Update
.pre-commit-config.yaml
by @glenn-jocher in #1026 - [Example] YOLOv8-OpenCV-ONNX-Python by @frdteknikelektro in #1007
ultralytics 8.0.41
TF SavedModel and EdgeTPU export by @glenn-jocher in #1034ultralytics 8.0.42
DDP fix and Docs updates by @glenn-jocher in #1065ultralytics 8.0.43
optimizedResults
class and fixes by @glenn-jocher in #1069ultralytics 8.0.44
export and task fixes by @glenn-jocher in #1088ultralytics 8.0.45
segment CUDA and DDP callback fixes by @glenn-jocher in #1137ultralytics 8.0.46
TFLite and Benchmarks updates by @glenn-jocher in #1141- [Snyk] Fix for 2 vulnerabilities by @snyk-bot in #1051
ultralytics 8.0.47
Docker and reformat updates by @glenn-jocher in #1153ultralytics 8.0.48
Edge TPU fix and Metrics updates by @glenn-jocher in #1171ultralytics 8.0.49
task, exports and metadata updates by @glenn-jocher in #1197ultralytics 8.0.50
AMP check and YOLOv5u YAMLs by @glenn-jocher in #1263ultralytics 8.0.51
add assets and CI actions by @glenn-jocher in #1296ultralytics 8.0.52
reduced TAL CUDA usage and AMP check fix by @glenn-jocher in #1333ultralytics 8.0.53
DDP AMP and Edge TPU fixes by @glenn-jocher in #1362- Docs URL fixes and YAML updates by @glenn-jocher in #1383
- Check for broken links by @glenn-jocher in #1422
ultralytics 8.0.54
TFLite export improvements and fixes by @glenn-jocher in #1447ultralytics 8.0.55
unified YOLOv8 model YAMLs by @glenn-jocher in #1475- Broken link fixes by @glenn-jocher in #1537
ultralytics 8.0.56
PyTorch 2.0 support and minor fixes by @glenn-jocher in #1538ultralytics 8.0.57
Comet, AMP, Classify, Docker updates by @glenn-jocher in #1601ultralytics 8.0.58
new SimpleClass, fixes and updates by @glenn-jocher in #1636- Add YOLOv5 tutorials to docs.ultralytics.com by @glenn-jocher in #1657
ultralytics 8.0.59
new MLFlow and feature updates by @glenn-jocher in #17208.0.60
new HUB training syntax by @glenn-jocher in #1753- HUB CI fix by @glenn-jocher in #1776
ultralytics 8.0.62
HUB Syntax updates and fixes by @glenn-jocher in #1795ultralytics 8.0.63
CLI AMP check fix by @glenn-jocher in #1838- Revert 1783 fix callbacks by reference by @glenn-jocher in #1847
ultralytics 8.0.65
HUB COCO128 fix by @glenn-jocher in #1848ultralytics 8.0.66
YOLOv8 Pose models by @AyushExel in #1347ultralytics 8.0.67
Pose speeds, Comet and ClearML updates by @glenn-jocher in #1871ultralytics 8.0.68
HUB zipfile without suffix fix by @glenn-jocher in #1877ultralytics 8.0.69
HUB CI and ClearML fixes by @glenn-jocher in #1888ultralytics 8.0.70
minor fixes and improvements by @glenn-jocher in #1892ultralytics 8.0.71
updates and fixes by @glenn-jocher in #1907- Update version of PyTorch <2.0 by @gustavo-moura in #1794
ultralytics 8.0.72
faster Windows trainings and corrupt cache fix by @glenn-jocher in #1912ultralytics 8.0.73
minor fixes by @glenn-jocher in #1929ultralytics 8.0.74
Pose labels, fp64 labels, Ensemble fixes by @glenn-jocher in #1956- Fix Chinese README by @glenn-jocher in #1965
ultralytics 8.0.75
fixes and updates by @glenn-jocher in #1967ultralytics 8.0.76
minor fixes and improvements by @glenn-jocher in #2004ultralytics 8.0.77
Ray[Tune] for hyperparameter optimization by @glenn-jocher in #2014- Update LICENSE to AGPL-3.0 by @glenn-jocher in #2031
ultralytics 8.0.78
Docker and confusion matrix updates by @glenn-jocher in #2035- Dockerfile for NVIDIA Jetson devices by @glenn-jocher in #2050
ultralytics 8.0.79
expand Docs reference section by @glenn-jocher in #2053ultralytics 8.0.80
single-line docstring fixes by @glenn-jocher in #2060ultralytics 8.0.81
single-line docstring updates by @glenn-jocher in #2061ultralytics 8.0.82
docs updates and fixes by @glenn-jocher in #2098ultralytics 8.0.83
Neptune AI logging addition by @glenn-jocher in #2130ultralytics 8.0.84
results JSON outputs by @glenn-jocher in #2171- Update links to https://docs.ultralytics.com by @glenn-jocher in #2182
ultralytics 8.0.85
docs and events updates by @glenn-jocher in #2189ultralytics 8.0.86
HUB resume, Classify train and RayTune fixes by @glenn-jocher in #2200ultralytics 8.0.87
improved Pose models by @glenn-jocher in #2202ultralytics 8.0.88
Pose TFLite model fix by @glenn-jocher in #2261- [Snyk] Security upgrade numpy from 1.21.3 to 1.22.2 by @snyk-bot in #2188
ultralytics 8.0.89
SAM predict and auto-annotate by @glenn-jocher in #2298ultralytics 8.0.90
actions and docs improvements by @glenn-jocher in #2326ultralytics 8.0.91
tracker fix and docs comments by @glenn-jocher in #2343ultralytics 8.0.92
updates and fixes by @glenn-jocher in #2361ultralytics 8.0.93
HUB docs and JSON2YOLO converter by @glenn-jocher in #2431- Fix Jetson Docker by @glenn-jocher in #2433
ultralytics 8.0.94
HUBDatasetStats() Segment and Pose support by @glenn-jocher in #2450ultralytics 8.0.96
TAL speed and memory improvements by @glenn-jocher in #2484ultralytics 8.0.97
confusion matrix, windows, docs updates by @glenn-jocher in #2511ultralytics 8.0.98
add Baidu RT-DETR models by @glenn-jocher in #2527ultralytics 8.0.99
HUB resume fix and Docs updates by @glenn-jocher in #2567ultralytics 8.0.100
add Mosaic9() augmentation by @glenn-jocher in #2605- fix loss by @Laughing-q in #2614
ultralytics 8.0.101
mosaic9() and loss bug fixes by @glenn-jocher in #2608ultralytics 8.0.103
minor fixes by @glenn-jocher in #2634ultralytics 8.0.104
bug fixes andthop
dependency removal by @glenn-jocher in #2665ultralytics 8.0.105
classification hyp fix and newonplot
callbacks by @glenn-jocher in #2684ultralytics 8.0.106
by @glenn-jocher in #2736ultralytics 8.0.107
by @glenn-jocher in #2778- Buffered Mosaic for reduced HDD reads by @glenn-jocher in #2791
ultralytics 8.0.108
add Meituan YOLOv6 models by @glenn-jocher in #2811ultralytics 8.0.109
HUB training fix by @glenn-jocher in #2818- Move loss to task heads by @AyushExel in #2825
- Add Conv2() module by @glenn-jocher in #2820
build_optimizer()
assign all parameters by @glenn-jocher in #2855- New dataset
fraction=1.0
argument by @glenn-jocher in #2860 - New train
profile
argument for loggers by @glenn-jocher in #2862 - Revert loss head PR by @AyushExel in #2873
- Fix numpy FP64 bug in augmentation by @Laughing-q in #2841
- Fix KeyError:line_thickness by @setwgx in #2852
- kwargs override
cfg
argument in model.train (#2839) by @Interpause in #2853 - Remove Sentry from requirements by @glenn-jocher in #2878
- Rename predictor postprocess
orig_img
toorig_imgs
by @afifaniks in #2877 ultralytics 8.0.110
newprofile
andfraction
train args by @glenn-jocher in #2880- Add ProfileModel
min_time=60
s argument by @glenn-jocher in #2881 - Update security policy by @glenn-jocher in #2884
- Fix
Conv2()
fusing by @glenn-jocher in #2885 - Fix DDP classify train
imgsz
by @glenn-jocher in #2897 - Refactor best YouTube URL and add
yt_dlp
option by @tekert in #2901 - Import
ultralytics.nn.tasks
asultralytics.nn
by @AyushExel in #2889 - Move loss calculation to head by @AyushExel in #2874
- Update
generate_ddp_file
for improvedoverrides
by @Laughing-q in #2909 ultralytics 8.0.111
refactoredmodel.loss()
method by @glenn-jocher in #2911- Update stream_loaders.py to
Path().absolute()
by @glenn-jocher in #2915 - W&B updates by @AyushExel in #2895
- Fix
save_txt
in track mode and add Keypoints and Probs by @Laughing-q in #2921 - Task augment by @Laughing-q in #2924
- Update license and tasks docs by @glenn-jocher in #2941
- Optionally
train_args
on attempt_load_weights() by @AyushExel in #2928 ultralytics 8.0.112
augment, results and docs updates by @glenn-jocher in #2944- Move
check_amp()
to checks.py by @AyushExel in #2948 - Fix
workspace
andverbose
arguments in TensorRT export by @crbrz in #2954 - Fix keypoints.conf update Results docs by @Laughing-q in #2977
- fix overlap_mask in SegmentationLoss by @Laughing-q in #2985
- Add Adamax, NAdam, RAdam optimizers by @glenn-jocher in #2969
ultralytics 8.0.113
Adamax, NAdam, RAdam optimizers by @glenn-jocher in #3004- Fix GlobalWheat2020.yaml auto download by @glenn-jocher in #3007
- Add DVC experiments logger with DVCLive by @shcheklein in #2792
- [Example] YOLOv8-ONNXRuntime by @semihhdemirel in #2992
- Add rt info for OpenVINO ModelAPI by @Wovchena in #2891
ultralytics 8.0.114
automatic optimizer selection by @glenn-jocher in #3037- Simplify
remove_zero_areas()
function by @Laughing-q in #3060 - Fix code scanning alert - Incomplete URL substring sanitization by @glenn-jocher in #3054
- Update val
max_dets=args.max_det=300
by @glenn-jocher in #3051 - Fix RayTune for < 8 CPUs by @glenn-jocher in #3102
- Remove Neptune
run.stop()
inon_train_end()
by @SiddhantSadangi in #3103 - fix(loggers): DVCLive add package version check by @shcheklein in #3112
ultralytics 8.0.115
RayTune and DVC fixes by @glenn-jocher in #3115- Add Ultralytics tasks and YOLO-NAS models by @glenn-jocher in #2735
- Add
device=cuda
support by @glenn-jocher in #3133 - Use
model_info_for_loggers()
in DVC logger by @shcheklein in #3127 - Add inference API to CI by @glenn-jocher in #3132
ultralytics 8.0.116
NAS, DVC, YOLOv5u updates by @glenn-jocher in #3124- Fix platform set to tuple by @Laughing-q in #3136
ultralytics 8.0.117
NAS export, classify and tasks banner URL fixes by @glenn-jocher in #3145- Docs updates for HUB, YOLOv4, YOLOv7, NAS by @sergiuwaxmann in #3174
- Add patches section and fix Docs CI by @glenn-jocher in #3193
- Fix operating system to list by @glenn-jocher in #3196
- Add world_size check before setting up DDP train by @brunoarine in #3191
- Comet Updates by @DN6 in #3186
ultralytics 8.0.118
updated Docs, OS and DDP fixes by @glenn-jocher in #3197- Jetson Docker fix
opencv-python>=4.5.0
by @glenn-jocher in #3208 - Update Dockerfile-jetson by @glenn-jocher in #3209
- Update save_dir on new predict args by @glenn-jocher in #3215
- Fix
batch=-1
for exports by @glenn-jocher in #3217 - Build reference for missing
__init__.py
files by @glenn-jocher in #3227 - Add RTDETR Trainer by @AyushExel in #2745
- docs: add docs for hub datasets by @sergiuwaxmann in #3212
- Docstrings arguments cleanup by @glenn-jocher in #3229
- Add Ultralytics ViT Docs by @glenn-jocher in #3230
- Fix Pose val plotting bug by @glenn-jocher in #3232
- Fix
scipy.ndimage.filters
deprecation warning by @glenn-jocher in #3233 - Fix PIL
getsize()
deprecation warning by @glenn-jocher in #3234 default.yaml
type comments by @glenn-jocher in #3237- Default classify training to
pretrained=True
by @glenn-jocher in #3239 - Return
save_dir
with prediction results by @glenn-jocher in #3240 - Fix Classify confusion matrix by @glenn-jocher in #3241
- Fix data.yaml absolute path bug by @glenn-jocher in #3242
ultralytics 8.0.119
RTDETR Trainer and ViT Docs by @glenn-jocher in #3236- Uninstall
wandb
from notebook environments by @glenn-jocher in #3247 - Add CLI support for SAM, RTDETR by @glenn-jocher in #3253
- [RTDETR]fix "Grad strides do not match bucket view strides" when training with DDP by @Laughing-q in #3255
- Docs: add docs for HUB models by @sergiuwaxmann in #3270
- Update datasets/classify/index.md Docs by @GreatV in #3244
- Allow setting MLFlow experiment name through env var by @jarombouts-cg in #3266
ultralytics 8.0.120
CLI support for SAM, RTDETR by @glenn-jocher in #3273- [RTDETR]Fix val loss by @Laughing-q in #3280
- Fix Pose export from YAML by @glenn-jocher in #3312
ultralytics 8.0.121
RTDETR fix and Docs updates by @glenn-jocher in #3314- Increase NCCL timeout from 1 hour to 3 hours by @rumjie in #3343
- Warn
save
disabled for torch inference by @glenn-jocher in #3361 - [Example] Add example application for .NET by @dme-compunet in #3311
- Fix RT-DETR exported onnx model by @Kayzwer in #3317
ultralytics 8.0.122
Fixtorch.Tensor
inference by @glenn-jocher in #3363- Add
torch.Tensor
checks and pip badges by @glenn-jocher in #3368 - Add FastSAM docs page by @glenn-jocher in #3371
- FROM ubuntu:lunar-20230615 and
lap
install fixes by @glenn-jocher in #3374 - Fix video writing by @glenn-jocher in #3379
ultralytics 8.0.123
Ubuntu security and VideoWriter codec fixes by @glenn-jocher in #3380- Docker
apt install gnupg g++
forlap
by @glenn-jocher in #3381 - Fix RTDETR val_batch_pred by @Laughing-q in #3392
- Update Discord invite link by @glenn-jocher in #3397
lapx
package replacement forlap
by @glenn-jocher in #3383- Fix dataset multiple unzip behavior by @glenn-jocher in #3413
- Change key format for
images
dict inconvert_coco
(#3419) by @GreatGameDota in #3420 ultralytics 8.0.124
lapx package and multiple-unzip fix by @glenn-jocher in #3423- Cap head scaling with
min(nc, 100)
by @glenn-jocher in #3436 - Add torch.Tensor image saving by @Neloy262 in #3475
- Improve NMS speed by @yermandy in #3467
- DVCLive cache images by @CptCaptain in #3459
ultralytics 8.0.125
NMS speed improvements by @glenn-jocher in #3463- Update ViT ops.py to
torch.long
by @glenn-jocher in #3508 - [RTDETR]fix mosaic<1.0 by @Laughing-q in #3518
- [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in #3510
- Set
close_mosaic: 10
in default.yaml by @glenn-jocher in #3525 - Update Discord links to role assign by @glenn-jocher in #3533
- Update YOLOv8-ONNXRuntime-CPP by @DennisJcy in #3455
ultralytics 8.0.126
Ray Tune refactoring by @glenn-jocher in #3511- Save Keypoints visible to text by @glenn-jocher in #3547
- Update default.yaml
imgsz
comment by @glenn-jocher in #3551 - Update README.md (code to run rtdetr on C#) by @Kayzwer in #3539
- Pass export=True to RTDETRDecoder by @glenn-jocher in #3550
ultralytics 8.0.127
add FastSAM model by @berry-ding in #3390ultralytics 8.0.128
FastSAM autodownload and super() init by @glenn-jocher in #3552- Add alias
"best"
for the model checkpoint artifact by @soumik12345 in #3558 - Use
args.name
asrun_name
for MLFlow system. by @andrewerf in #3567 - Fix PyPI build warnings by @glenn-jocher in #3565
- [pose]fix flip_idx by @Laughing-q in #3577
ultralytics 8.0.129
add YOLOv8 Tencent NCNN export by @glenn-jocher in #3529ultralytics 8.0.130
revert 'Fix PyPI build warnings' updates by @glenn-jocher in #3585- Avoid Python 3.9 with_stem by @democat3457 in #3589
ultralytics 8.0.131
NCNN, HUB and FastSAM fixes by @glenn-jocher in #3587- Fix StreamLoader variable FPS bug by @glenn-jocher in #3602
- Update TASK2DATA defaults to COCO8 by @glenn-jocher in #3603
- Error -> Warn on non-deterministic ops by @glenn-jocher in #3613
- Filter
matplotlib>=3.7.2
tight layout warning by @glenn-jocher in #3614 ultralytics 8.0.132
add AutoBackend NCNN inference by @glenn-jocher in #3615- Replace an easy way to construct a
ncnn.Mat
by @triple-Mu in #3638 - Fix SAM autodownload to
/weights
by @glenn-jocher in #3655 - Add Environmental, Health and Safety (EHS) policy by @glenn-jocher in #3666
- Fix
MLFLOW_EXPERIMENT_NAME
env var by @ouphi in #3668 - Update SAM docs page by @glenn-jocher in #3672
- Remove PNNX debug files by @triple-Mu in #3677
- Add tuner.py to Docs by @glenn-jocher in #3689
- Fix PNNX debug filename by @triple-Mu in #3687
- Fix SAM docs broken URL by @glenn-jocher in #3691
- Fix Classify train from arbitrary CWD by @glenn-jocher in #3692
- Add
datetime
to exported model metadata by @developer0hye in #3694 - Changed default device to AUTO in OpenVINO by @adrianboguszewski in #3699
ultralytics 8.0.133
addtorchvision
compatibility check by @glenn-jocher in #3703ultralytics 8.0.134
add MobileSAM support by @ChaoningZhang in #3474- Update OpenVINO requirement to
openvino>=2023.0
by @adrianboguszewski in #3722 - Print CPU information by @glenn-jocher in #3721
- Fix
Arial.ttf
threaded multi-download bug by @glenn-jocher in #3725 - Fix
check_requirements()
console output by @glenn-jocher in #3738 - Updated C2f docstring by @harshdhamecha in #3732
- Avoid CUDA round-trip for relevant export formats by @glenn-jocher in #3727
- Remove deprecated
AutoShape
class by @glenn-jocher in #3743 ultralytics 8.0.135
remove deprecatedv5loader
by @glenn-jocher in #3744ultralytics 8.0.136
refactor and simplify package by @Laughing-q in #3748- Fix
MKL_THREADING_LAYER
bug in DDP Docker training by @glenn-jocher in #3770 - Update docs metadata by @glenn-jocher in #3781
- Add
libusb-1.0-0
for 'tflite_support' package by @glenn-jocher in #3785 - Update Classify
fitness
definition to mean of top1, top5 by @glenn-jocher in #3789 - Update
dynamic
keys and comments for ONNX exports by @developer0hye in #3772 - Fix
eval
toval
in dvc.py by @daavoo in #3771 - Add
Dockerfile-python
by @glenn-jocher in #3814 - Add Dockerfile-python to CI by @glenn-jocher in #3816
ultralytics 8.0.137
fix Windows NCNN export bug by @Chikage0o0 in #3803ultralytics 8.0.138
updatehub/utils.py
Events by @glenn-jocher in #3839- update cli.md for export ncnn model by @nihui in #3846
- fix: pin coremltools to 6.2 by @kalenmike in #3852
- Fix tflite int8 scaling by @democat3457 in #3837
- Add ncnn auto thread count by @nihui in #3847
- Benchmark with custom
data.yaml
by @maianumerosky in #3858 ultralytics 8.0.139
add FastSAM CLI support by @glenn-jocher in #3860ultralytics 8.0.140
improved robustness to model path spaces by @glenn-jocher in #3879- Fix
get_cpu_info()
bug on Raspberry Pi by @glenn-jocher in #3899 - Update tasks.py to allow custom RTEDTRDecoder arguments by @redrei in #3872
ultralytics 8.0.141
create new SettingsManager by @glenn-jocher in #3790- Allow paths relative to
*.txt
files for LoadImages by @glenn-jocher in #3905 - Update Discord invite to https://ultralytics.com/discord by @glenn-jocher in #3922
- Cleanup NCNN export files by @glenn-jocher in #3925
- Add tests before pushing to Docker Hub by @glenn-jocher in #3924
- Add benchmarks to Docker publish workflow by @glenn-jocher in #3931
- Fix
imgsz
in docs to integer to train, val by @Laughing-q in #3941 - Update augment in validator by @Laughing-q in #3943
- Clip boxes in tracker by @Laughing-q in #3950
- Create CI
workflow_dispatch
trigger by @glenn-jocher in #3954 - Update exporter.py to raise errors on export failure by @glenn-jocher in #3951
ultralytics 8.0.142
add OpenVINO docs by @glenn-jocher in #3624- Fix catastrophic accuracy degradation of TFLite static quantized integer models by @motokimura in #1695
ultralytics 8.0.143
addModel
base class by @Laughing-q in #3934- Add HUB URL environment variables by @kalenmike in #3988
- Fix counter overflow for video frame crop names, set default separator for same-frame detection counter by @ketil-malde in #3982
- Update Dockerfile to fix
np.bool
deprecation by @glenn-jocher in #3998 - Correct docstring and delete unused code in
scale_image
function by @Flippchen in #4001 - Add new K-Fold cross validation guide in Docs by @Burhan-Q in #3975
- Add
kpt_radius
plotting arg to Results object by @Wouter-Bekker-AI in #4022 ultralytics 8.0.144
fix SAMpredict()
results by @Laughing-q in #4027- Update to
mkdocs-ultralytics-plugin==0.0.22
by @glenn-jocher in #4030 - Fix screenshot inference by @glenn-jocher in #4033
ultralytics 8.0.145
Windows URL fix and Pose MPS warning by @glenn-jocher in #4034- Update tracker docs by @glenn-jocher in #4044
- Fix per-layer FLOPs profiling by @glenn-jocher in #4048
- Fix issue when config dir is created even if YOLO_CONFIG_DIR is set by @valfrom in #4054
- Bump slackapi/slack-github-action from 1.23.0 to 1.24.0 by @glenn-jocher in #4066
- [Snyk] Security upgrade numpy from 1.21.3 to 1.22.2 by @glenn-jocher in #4090
- Support both
*.yml
and*.yaml
files by @glenn-jocher in #4086 ultralytics 8.0.146
fix SettingsManager un-needed write ops by @glenn-jocher in #4101- Use double quotes for
pip install
options by @glenn-jocher in #4110 - Fix YOLOv5
save_one_box()
usage by @glenn-jocher in #4127 - Removed redundency in RTDETRDecoder by @Wiqzard in #4118
- Update prediction
Results
docs by @glenn-jocher in #4139 - Add
retry
option toget_github_assets()
function by @glenn-jocher in #4148 - Mark DVC
trainer.best
artifact astype=model
by @daavoo in #4143 - Add verbosity flag for quantization info by @democat3457 in #4151
- Fix Docs reference section
__init__.py
URLs by @glenn-jocher in #4168 - Remove redundant
mkdir
command in Dockerfiles by @manand881 in #4175 - Update version checks functions by @glenn-jocher in #4179
- Fix error with exporting quantized saved model when labels cache not present by @democat3457 in #4174
- Add Docs example for plotting tracks over time by @glenn-jocher in #4170
ultralytics 8.0.148
fixSettingsManager
empty YAML bug by @glenn-jocher in #4180- Update
check_version()
for inequality support by @glenn-jocher in #4182 - Enable Google Drive file downloads by @glenn-jocher in #4196
ultralytics 8.0.149
add Open Images V7 training by @glenn-jocher in #4178- Scope
scipy
import and only plot first 1M labels by @glenn-jocher in #4203 - Improved Docs models Usage examples by @glenn-jocher in #4214
- Replace
type(1) == int
withisinstance(1, int)
by @pre-commit-ci in #4217 - Accept
model=yolov5*u.yaml
arguments by @glenn-jocher in #4230 ultralytics 8.0.150
new Apple*.mlpackage
export format by @glenn-jocher in #4043- Fix
save_hybrid
by @Laughing-q in #4245 - Refactor val code into new
self.match_predictions()
method by @yermandy in #4265 - Add "assert len(labels)" catch by @Laughing-q in #4257
- Fixes Results.tojson when tracking by @simlevesque in #4270
ultralytics 8.0.151
addDOTAv2.yaml
for OBB training by @glenn-jocher in #4258- Improve YOLOv8 ONNX Runtime c++ example for all OS with
CmakeList.txt
support by @onuralpszr in #4274 - Use
conda install -c conda-forge ultralytics
by @glenn-jocher in #4272 - Fix
torch.Tensor
inference results plotting by @glenn-jocher in #4297 ultralytics 8.0.152
bumptorch>=1.8.0
by @glenn-jocher in #4299- Fix incorrect device selection when resuming training by @Laughing-q in #4301
- Implementing Resource Release Mechanism for Stream Loading by @gustavosett in #4285
- Improved Classify dataset splits and introspection by @glenn-jocher in #4312
ultralytics 8.0.153
YOLO Tasks Cleanup by @glenn-jocher in #4314- Update links.yml by @glenn-jocher in #4322
- ORT_CPP add CUDA FP16 inference by @DennisJcy in #4320
- Remove unused code by @glenn-jocher in #4327
- Add Code Coverage Reports by @glenn-jocher in #4336
- Update YOLOv8-ONNXRuntime-CPP example with GPU inference by @onuralpszr in #4328
- Clean and bump dvc callback: settings, stacked images by @shcheklein in #4343
- Improve tests coverage and speed by @glenn-jocher in #4340
ultralytics 8.0.154
addfreeze
training argument by @glenn-jocher in #4329- Omit
ultralytics/utils/callbacks
from coverage by @glenn-jocher in #4345 - Fix PIL Image
exif_size()
function by @glenn-jocher in #4355 - Add
data/utils.py
to tests by @glenn-jocher in #4363 - Cleanup tracker and remove unused functions by @Laughing-q in #4374
ultralytics 8.0.155
allowimgsz
andbatch
resume changes by @glenn-jocher in #4366- Correct
scipy.optimize.linear_sum_assignment
usage by @ZouJiu1 in #4390 - Fix
LoadStreams
final frame bug by @glenn-jocher in #4387 ultralytics 8.0.156
fix PIL*.png
EXIF bug by @glenn-jocher in #4406- 🖼️ Format bbox label with fixed precision for ortcpp-example by @onuralpszr in #4409
ultralytics 8.0.157
fixunzip_file()
bug by @glenn-jocher in #4407- New
ASSETS
and trackers GMC cleanup by @glenn-jocher in #4425 - Docker-python fix for
get_ubuntu_version()
by @glenn-jocher in #4430 - Fix conversion ops using
clone
andcopy
by @Laughing-q in #4438 - Add version tagging to Docker images by @glenn-jocher in #4462
ultralytics 8.0.158
add benchmarks to coverage by @glenn-jocher in #4432- Add TensorBoard graph for model visualization by @glenn-jocher in #4464
- Fix
*.txt
source inference dataloader by @GrunCrow in #4468 - Tests and docstrings improvements by @glenn-jocher in #4475
- Update Validator to use
model
argument by @glenn-jocher in #4480 ultralytics 8.0.159
add Classify trainingresume
feature by @glenn-jocher in #4482- Improve
check_imshow()
robustness by @glenn-jocher in #4483 - Add
utils.ops
andnn.modules
to tests by @glenn-jocher in #4484 - Simplify postprocessing methods by @glenn-jocher in #4497
ultralytics 8.0.160
Classify dataset scanning and caching by @glenn-jocher in #4502- Fix TensorBoard graph
UserWarning
catch by @glenn-jocher in #4513 ultralytics 8.0.161
fix Classify dataset scanning bug by @glenn-jocher in #4515- Add spaces and non-UTF filenames to tests by @glenn-jocher in #4517
- Minimize GitHub assets API calls by @glenn-jocher in #4523
- Fix Windows non-UTF source filenames by @glenn-jocher in #4524
ultralytics 8.0.162
Multi-GPU DDP fix by @glenn-jocher in #4544- Update HUB repo to
main
branch by @glenn-jocher in #4549 - Add YOLOv8x-seg-p6.yaml architecture file by @glenn-jocher in #4567
ultralytics 8.0.163
add newgpu-latest
runner to CI actions by @glenn-jocher in #4565- Add SAM Predictor
remove_small_regions
test by @Laughing-q in #4576 - Simplify
Results()
class by @glenn-jocher in #4579 - Fix HUBDatasetStats for no-label edge cases by @glenn-jocher in #4583
- Separate GPU CI job in actions by @glenn-jocher in #4584
- Model coverage cleanup by @glenn-jocher in #4585
- Fix pytest
world_size
environment bug by @Laughing-q in #4590 - Cleanup redundant SAM
forward()
methods by @glenn-jocher in #4591 - Add
Dockerfile-runner
for CI actions runner images by @glenn-jocher in #4595 ultralytics 8.0.164
new StreamLoaderstream_buffer
argument by @glenn-jocher in #4596- Add new
get_save_dir()
function by @glenn-jocher in #4602 - Fix DDP when device is a list by @Laughing-q in #4600
- Cleanup argument handling in
Model
class by @glenn-jocher in #4614 ultralytics 8.0.165
add hyperparameter evolutionTuner()
class by @glenn-jocher in #4599- Tests improvements by @glenn-jocher in #4616
ultralytics 8.0.166
expandHUBDatasetStats
to Classify tasks by @glenn-jocher in #4635- Add Roboflow integration guide by @capjamesg in #4629
- Support FastSAM directory inference and plot by @HtwoOtwo in #4634
ultralytics 8.0.167
Tuner updates and HUB Pose, Classify fixes by @glenn-jocher in #4656- Add NNCF support in OpenVINO export by @glenn-jocher in #4671
- Docker COPY with checkout
fetch-depth: 0
by @glenn-jocher in #4674 ultralytics 8.0.168
saveTuner
results every iteration by @glenn-jocher in #4680- Failing CUDA tests fixes by @glenn-jocher in #4682
- Set
workers=0
for MPS Train and Val modes by @glenn-jocher in #4697 ultralytics 8.0.169``TQDM
,INTERP_LINEAR
and RTDETRload_image()
updates by @glenn-jocher in #4704- Fix FastSAM canvas drawing bug by @glenn-jocher in #4705
- Faster IoU prediction matching by removing
torch.cat
by @yermandy in #4708 - Add Dockerfile-conda
FROM continuumio/miniconda3:latest
by @glenn-jocher in #4706 ultralytics 8.0.170
applyis_list
fixes for torch.Tensor inputs by @glenn-jocher in #4713ultralytics 8.0.171
new SAHI guide and callbacks fix by @glenn-jocher in #4748ultralytics 8.0.172
fasterLetterBox()
and Classify Tune fix by @glenn-jocher in #4766- Add AzureML Quickstart Guides by @ouphi in #4772
ultralytics 8.0.173
fix missing val plots and new Conda Guide by @glenn-jocher in #4783ultralytics 8.0.174
Tuner plots and improvements by @glenn-jocher in #4799- Update YouTube URL https://youtu.be/LNwODJXcvt4 by @glenn-jocher in #4808
- Apply default ConfusionMatrix
conf=0.25
by @glenn-jocher in #4813 ultralytics 8.0.175
StreamLoader wait for missing frames by @glenn-jocher in #4814- Add SAHI with YOLOv8 Video Inference Example by @RizwanMunawar in #4847
ultralytics 8.0.176
updateDockerfile-arm64
to 22.04 by @glenn-jocher in #4857ultralytics 8.0.177
add https://youtube.com/ultralytics videos to Docs by @glenn-jocher in #4875ultralytics 8.0.178
PyPI deployment fix by @glenn-jocher in #4891- Update MANIFEST.in by @glenn-jocher in #4894
- Fix LoadStreams missing frame bug by @glenn-jocher in #4913
ultralytics 8.0.179
base Model class fromnn.Module
by @glenn-jocher in #4911ultralytics 8.0.180
PyPI fixes for YAML and JPG files by @glenn-jocher in #4914- Bump contributor-assistant/github-action from 2.3.0 to 2.3.1 by @dependabot in #4950
- YOLOv8 Counting with Multiple Movable Regions Example by @RizwanMunawar in #4929
ultralytics 8.0.181
RTDETR, MLFlow fixes and Examples updates by @glenn-jocher in #4927- Fix Ray 2.7.0 breaking changes by @glenn-jocher in #4964
ultralytics 8.0.182
remove deprecatedpkg_resources
by @glenn-jocher in #4979- Update matplotlib backend switching by @glenn-jocher in #4987
ultralytics 8.0.183
RayTune andyolo checks
fixes by @glenn-jocher in #5002ultralytics 8.0.184
https://yolovision.ultralytics.com #YV23 by @glenn-jocher in #5004ultralytics 8.0.184
https://yolovision.ultralytics.com #YV23 by @glenn-jocher in #5008ultralytics 8.0.185
dependencies and tests fixes by @glenn-jocher in #5046ultralytics 8.0.186
add Open Images V7 models by @glenn-jocher in #5070ultralytics 8.0.187
deprecateultralytics.yolo
usage by @glenn-jocher in #5084ultralytics 8.0.188
fix .grad attribute leaf Tensor Warning by @glenn-jocher in #5094ultralytics 8.0.189
pintensorflow<=2.13.0
to avoidtflite_support
bug by @glenn-jocher in #5140ultralytics 8.0.190
addthop>=0.1.1
to requirements.txt by @glenn-jocher in #5162ultralytics 8.0.191
fixyolo checks
for missing packages by @glenn-jocher in #5179ultralytics 8.0.192
improved vectorized Pose loss by @glenn-jocher in #5207- Add Tiger-Pose dataset for animal pose examples by @RizwanMunawar in #5225
ultralytics 8.0.193
add Raspberry Pi guide to Docs by @glenn-jocher in #5230- Conda CI and Metric docstring updates by @glenn-jocher in #5233
ultralytics 8.0.194
add YOLO common issues guide to Docs by @glenn-jocher in #5248ultralytics 8.0.195
NVIDIA Triton Inference Server support by @glenn-jocher in #5257- Add
docformatter
to pre-commit by @glenn-jocher in #5279 ultralytics 8.0.196
instance-mean Segment loss by @glenn-jocher in #5285- Implement all missing docstrings by @glenn-jocher in #5298
ultralytics 8.0.197
save P, R, F1 curves to metrics by @glenn-jocher in #5354ultralytics 8.0.198
MLflow fix, tests and Docs page by @glenn-jocher in #5357ulralytics 8.0.199
*.npy image loading exception handling by @glenn-jocher in #5683- Add Quickstart Docs YouTube video by @glenn-jocher in #5733
ultralytics 8.0.200
moveon_val_start
callback for training by @glenn-jocher in #5790- Add docs
Ultralytics 文档: - zh/index.md
by @glenn-jocher in #5871 - Docs links
alt
tags by @glenn-jocher in #5879 ultralytics 8.0.201
docs alt tags and fonts updates by @glenn-jocher in #5886ultralytics 8.0.202
sort Triton model outputs by @glenn-jocher in #5945- Fix
tracks=None
bug in YOLOv8-Region-Counting module by @RizwanMunawar in #5977 - Add docs/guides/performance-metrics.md by @abirami-vina in #5987
- Resolve python argparse DDP bug by @glenn-jocher in #6009
ultralytics 8.0.203
DDP argparse and Tracker fixes by @glenn-jocher in #6007ultralytics 8.0.204
Segment ONNX Runtime example by @glenn-jocher in #6088ultralytics 8.0.205
HUB dataset downloads fix by @glenn-jocher in #6101ultralytics 8.0.206
engine Trainer updates by @glenn-jocher in #6111- Add Tasks Docs YouTube video by @RizwanMunawar in #6127
- Improve path traversal security vulnerability by @glenn-jocher in #6138
ultralytics 8.0.207
fixmodel.track(persist=True)
bug by @glenn-jocher in #6145- Create deployment-options.md by @abirami-vina in #6160
ultralytics 8.0.208
automatic thread-safe inference by @glenn-jocher in #6185- Add Chinese Modes and Tasks Docs by @glenn-jocher in #6274
- Add Docs languages
zh, es, ru, pt, fr, de, ja, ko
by @glenn-jocher in #6316 - Docs automatic light/dark mode by @glenn-jocher in #6287
- Fix broken docs language links by @glenn-jocher in #6323
- Fix SAM CLI stem usage by @glenn-jocher in #6257
ultralytics 8.0.209
fix P6 model validation by @glenn-jocher in #6261ultralytics 8.0.210
docs updates and bug fixes by @glenn-jocher in #6365- Add QuickStart Docs YouTube video by @RizwanMunawar in #6384
- Create comet-ml.md by @abirami-vina in #6229
ultralytics 8.0.211
README language links by @glenn-jocher in #6370ultralytics 8.0.212
add Windows UTF-8 support by @glenn-jocher in #6407- Add Hindi हिन्दी and Arabic العربية Docs translations by @glenn-jocher in #6428
- Fix Hindi हिन्दी and Arabic العربية Docs links by @glenn-jocher in #6431
- FA CSS fix for MkDocs share buttons by @glenn-jocher in #6437
- Update Docs with iframe navigation by @glenn-jocher in #6440
- Isolate YouTube to
--slow
tests on schedule by @glenn-jocher in #6441 ultralytics 8.0.213
NVIDIA Triton gRPC fix by @validatedev in #6443ultralytics 8.0.214
Windows UTF-8 notebook fix by @glenn-jocher in #6459ultralytics 8.0.215
Windows UTF-8 fix 2 by @glenn-jocher in #6463- Add
tensorflow<=2.13.1
checks and comments by @glenn-jocher in #6466 - Update notebooks with docs languages by @glenn-jocher in #6469
- Fix FastSAM text prompt results by @sulthansf in #6510
- Update https://docs.ultralytics.com/models by @glenn-jocher in #6513
ultralytics 8.0.216
fix hard-codedbatch=64
cls loss by @glenn-jocher in #6523- Fix docs links by @glenn-jocher in #6537
- Fix link hi/models link by @glenn-jocher in #6554
- Add
--classes
arg in YOLOv8 Region Counter + optimize by @RizwanMunawar in #6568 ultralytics 8.0.217
HUB YAMLpath
improvements by @glenn-jocher in #6556ultralytics 8.0.217
HUB YAMLpath
improvements by @glenn-jocher in #6570- Update build_docs.py for page titles by @glenn-jocher in #6574
- Update docs predict, buttons, reference by @glenn-jocher in #6585
ultralytics 8.0.218
fix streaming predictor list init by @S-kewen in #6578- [Example] YOLOv8-ONNXRuntime-Rust example by @jamjamjon in #6583
ultralytics 8.0.219
newsave_frames=False
predict arg by @tensorturtle in #6396- Add missing HTML image alt tags by @glenn-jocher in #6611
- New Docs Guide: Isolating Segmentation Objects by @Burhan-Q in #6587
ultralytics 8.0.220
fix UnboundLocalError in tuner.py by @mshamrai in #6614- Add ClearML Docs integrations page by @abirami-vina in #6636
- Add Tiger-Pose dataset YouTube video to Docs by @glenn-jocher in #6660
- Pre-download
onnx2tf
calib file to preempt S3 issues by @glenn-jocher in #6669 - Fix
unzip_file()
to directory issue by @glenn-jocher in #6666 - Add DVC Docs integrations page by @abirami-vina in #6667
ultralytics 8.0.221
fix Apple MPS inference bug by @glenn-jocher in #6694- Fix
convert_coco()
box-segment discarding by @Ileal16 in #6689 - Update Tuner() attempt metrics save on crash by @finlaymorrison in #6711
- Add train loss and lr to loggers by @glenn-jocher in #6732
- Add real-world projects in Ultralytics +
guides
in Docs by @RizwanMunawar in #6695 - [Snyk] Fix for 2 vulnerabilities by @glenn-jocher in #6524
- Docs cleanup and Google-style tracker docstrings by @glenn-jocher in #6751
- Add new
yolov8-ghost.yaml
model by @Burhan-Q in #6749 ultralytics 8.0.222
introduce newultralytics.solutions
by @glenn-jocher in #6759- Add ResNet50 and ResNet101 backbone RTDETR models by @WangQvQ in #6661
- Add HeatMap
guide
in real-world-projects + Code in Solutions Directory by @RizwanMunawar in #6796 ultralytics 8.0.223
add YOLOv8-Ghost P2 and P6 variants by @glenn-jocher in #6826- Fix ONNX GPU inference bug by @WangQvQ in #6840
ultralytics 8.0.224
Counting and Heatmaps updates by @glenn-jocher in #6855ultralytics 8.0.225
multi-video tracker bug fix by @glenn-jocher in #6862- Embed videos in Docs pages using Parent pages for relevant segments by @RizwanMunawar in #6877
- Add C++ Classify inference example by @DennisJcy in #6868
- Add horizontal Mosaic3 augmentation by @Leo-Moooon in #6898
ultralytics 8.0.226
Validator Path and Tuner space by @glenn-jocher in #6901- Update Docs language dropdown height by @sergiuwaxmann in #6927
ultralytics 8.0.227
respectdefaults.yaml
data by @glenn-jocher in #6935- Pin
jax
andjaxlib
to fixtensorflowjs
exports by @Laughing-q in #6988 - Add quantization support to TensorFlow.js converter by @glenn-jocher in #7008
- Fix PNNX
ubuntu
->linux
bug by @glenn-jocher in #7050 - Add
instance segmentation
andvision-eye mapping
in Docs + Fix minor code bug in otherreal-world-projects
by @RizwanMunawar in #6972 - Update the
heatmap
module code + docs by @RizwanMunawar in #7045 - Bump github/codeql-action from 2 to 3 in /.github/workflows by @dependabot in #7041
ultralytics 8.0.228
add trainingtime
argument by @glenn-jocher in #7054- Fix docs links by @glenn-jocher in #7096
- Add YOLOv8 LibTorch C++ inference example by @Myyura in #7090
- Add line counting and circular heatmaps in Ultralytics Solutions by @RizwanMunawar in #7113
ultralytics 8.0.229
addmodel.embed()
method by @glenn-jocher in #7098- Embed
Heatmaps
YouTube video in UltralyticsDocs
by @RizwanMunawar in #7129 ultralytics 8.0.230
TensorRT export hang fix by @glenn-jocher in #7180- Fix docs H1 tags by @glenn-jocher in #7182
- Add Weights & Biases Docs integrations page by @abirami-vina in #7199
ultralytics 8.0.231
use newpyproject.toml
by @glenn-jocher in #7185- Dockerfile-jetson
pyproject.toml
OpenCV fix by @glenn-jocher in #7214 - Fix heatmaps width-height order bug by @WangQvQ in #7184
- Add Neural Magic Docs integrations page by @abirami-vina in #7234
- Update Docs Home and Neural Magic pages by @glenn-jocher in #7243
- Fix RTDETR generate anchor grid out of boundary by @ZiQiangXie in #7247
- Add TensorBoard Docs integrations page by @abirami-vina in #7248
ultralytics 8.0.232
OpenCV 4.9.0 readonly np.array fix by @glenn-jocher in #7256ultralytics 8.0.233
improve Classify train augmentations by @fcakyon in #4546- Add Amazon Sagemaker Docs integrations page by @abirami-vina in #7293
ultralytics 8.0.234
VOCexist_ok=True
unzip fix by @glenn-jocher in #7295- Update inference.cpp (bug) by @umitkacar in #7279
- Update
pyproject.toml
and Docs by @glenn-jocher in #7274 ultralytics 8.0.235
YOLOv8 OBB train, val, predict and export by @glenn-jocher in #4499- Pass callbacks to validator by @ThomasDeLange in #7320
- Add
speed_estimation
anddistance_calculation
in ultralytics solutions by @RizwanMunawar in #7325 - Fixed RTDETR GFLOPs bug by @WangQvQ in #7309
- Fix Multi-GPU resume bug by @sunmooncode in #7328
- Update
neural-magic.md
by @glenn-jocher in #7347 - Add docs links to all dataset YAMLs by @glenn-jocher in #7360
ultralytics 8.0.236
dataset semantic & SQL search API by @AyushExel in #7136- Explorer Cleanup by @glenn-jocher in #7364
- Docs partial mdformat improvements by @glenn-jocher in #7378
- Add new YOLOv8 OBB model metrics by @Laughing-q in #7379
ultralytics 8.0.237
cv2.CAP_PROP
fix andin_counts
andout_counts
displays by @glenn-jocher in #7380- Capitalize OBB acronym by @glenn-jocher in #7383
- Fix OBB xywh-angle concatenation bug by @Laughing-q in #7404
- Add type hinting to explorer.py by @Burhan-Q in #7388
- Add
dota8.yaml
and OBB tests by @Laughing-q in #7394 - YOLOv8 INT8 TFLite Inference Example by @wamiqraza in #7317
ultralytics 8.0.238
Explorer Ask AI feature and fixes by @glenn-jocher in #7408- Add OBB models to
GITHUB_ASSET_NAMES
by @glenn-jocher in #7425 - Add object blurring & object cropping modules in Ultralytics docs by @RizwanMunawar in #7434
- Docs updates: Add Explorer to tab, YOLOv5 in Guides and Usage in Quickstart by @AyushExel in #7438
- Feature: Create HUB Models from CLI or Python Script by @kalenmike in #7316
- Add OBB
save_txt
feature by @Laughing-q in #7450 ultralytics 8.0.239
Ultralytics Actions andhub-sdk
adoption by @glenn-jocher in #7431- Fix docker.yaml double-quote version bug by @glenn-jocher in #7452
- Add missing Explorer docs reference pages by @glenn-jocher in #7455
- Update format.yml to pull_request_target by @glenn-jocher in #7460
ultralytics 8.1.0
YOLOv8 Oriented Bounding Box (OBB) release by @glenn-jocher in #7463
New Contributors
- @RangeKing made their first contribution in #200
- @hedrergudene made their first contribution in #254
- @Yulv-git made their first contribution in #222
- @JustasBart made their first contribution in #856
- @frdteknikelektro made their first contribution in #1007
- @gustavo-moura made their first contribution in #1794
- @setwgx made their first contribution in #2852
- @Interpause made their first contribution in #2853
- @afifaniks made their first contribution in #2877
- @tekert made their first contribution in #2901
- @crbrz made their first contribution in #2954
- @SiddhantSadangi made their first contribution in #3103
- @brunoarine made their first contribution in #3191
- @GreatV made their first contribution in #3244
- @jarombouts-cg made their first contribution in #3266
- @rumjie made their first contribution in #3343
- @GreatGameDota made their first contribution in #3420
- @Neloy262 made their first contribution in #3475
- @CptCaptain made their first contribution in #3459
- @berry-ding made their first contribution in #3390
- @andrewerf made their first contribution in #3567
- @democat3457 made their first contribution in #3589
- @ChaoningZhang made their first contribution in #3474
- @harshdhamecha made their first contribution in #3732
- @daavoo made their first contribution in #3771
- @Chikage0o0 made their first contribution in #3803
- @nihui made their first contribution in #3846
- @redrei made their first contribution in #3872
- @motokimura made their first contribution in #1695
- @ketil-malde made their first contribution in #3982
- @Flippchen made their first contribution in #4001
- @Wouter-Bekker-AI made their first contribution in #4022
- @valfrom made their first contribution in #4054
- @manand881 made their first contribution in #4175
- @simlevesque made their first contribution in #4270
- @gustavosett made their first contribution in #4285
- @ZouJiu1 made their first contribution in #4390
- @GrunCrow made their first contribution in #4468
- @capjamesg made their first contribution in #4629
- @sulthansf made their first contribution in #6510
- @S-kewen made their first contribution in #6578
- @tensorturtle made their first contribution in #6396
- @mshamrai made their first contribution in #6614
- @Ileal16 made their first contribution in #6689
- @finlaymorrison made their first contribution in #6711
- @Leo-Moooon made their first contribution in #6898
- @ZiQiangXie made their first contribution in #7247
- @fcakyon made their first contribution in #4546
- @umitkacar made their first contribution in #7279
- @ThomasDeLange made their first contribution in #7320
- @sunmooncode made their first contribution in #7328
- @wamiqraza made their first contribution in #7317
Full Changelog: https://github.com/ultralytics/ultralytics/commits/v8.1.0