-
-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix HUB session with DDP training #13103
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #13103 +/- ##
===========================================
- Coverage 70.40% 35.53% -34.88%
===========================================
Files 124 124
Lines 15905 15886 -19
===========================================
- Hits 11198 5645 -5553
- Misses 4707 10241 +5534
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@glenn-jocher I'm not really familiar with the whole workflow between hub and ultralytics but I figured we can directly load model from hub so I had to keep some code of hub-session in ultralytics/ultralytics/engine/model.py Lines 136 to 140 in 654c37f
https://github.com/ultralytics/ultralytics/blob/654c37f09bc3b1e9d182a6f4ea315616bf14c643/ultralytics/engine/model.py#L180-185 |
@glenn-jocher Also I tested in my local multi-gpu machine and it seems to work properly i.e it's trying to create hub-session in ddp training. That's so far I'm able to test since I don't have any hub env and account(I'm guessing it's same as wandb, which needs an account). |
Got it, thanks @Laughing-q! @Burhan-Q can you test this PR for DDP training from HUB and then also from Ultralytics to HUB? |
@glenn-jocher @Laughing-q @sergiuwaxmann this worked with a model created from HUB Here's the post training print out of training arguments. model.session.train_args
>>> {
'batch': -1,
'cache': 'ram',
'data': 'coco128.yaml',
'device': [0, 1], # DDP enabled
'epochs': 10,
'imgsz': 640,
'patience': 50,
'time': None
} Local log
from ultralytics import YOLO, hub
hub.login(API_KEY)
>>> Ultralytics HUB: New authentication successful ✅
>>> True
model = YOLO('https://hub.ultralytics.com/models/oljNmlCqCllzTUL5Jwwj')
results = model.train()
Ultralytics YOLOv8.2.20 🚀 Python-3.10.12 torch-2.2.0+cu121 CUDA:0 (NVIDIA A100-SXM4-80GB, 81051MiB)
CUDA:1 (NVIDIA A100-SXM4-80GB, 81051MiB)
engine/trainer: task=detect, mode=train, model=yolov8s.pt, data=coco128.yaml, epochs=10, time=None, patience=50, batch=-1, imgsz=640, save=True, save_period=-1, cache=ram, device=[0, 1], workers=8, project=None, name=train, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, bgr=0.0, mosaic=1.0, mixup=0.0, copy_paste=0.0, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=ultralytics/runs/detect/train
from n params module arguments
0 -1 1 928 ultralytics.nn.modules.conv.Conv [3, 32, 3, 2]
1 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]
2 -1 1 29056 ultralytics.nn.modules.block.C2f [64, 64, 1, True]
3 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]
4 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True]
5 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]
6 -1 2 788480 ultralytics.nn.modules.block.C2f [256, 256, 2, True]
7 -1 1 1180672 ultralytics.nn.modules.conv.Conv [256, 512, 3, 2]
8 -1 1 1838080 ultralytics.nn.modules.block.C2f [512, 512, 1, True]
9 -1 1 656896 ultralytics.nn.modules.block.SPPF [512, 512, 5]
10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]
12 -1 1 591360 ultralytics.nn.modules.block.C2f [768, 256, 1]
13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]
15 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1]
16 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]
17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1]
18 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1]
19 -1 1 590336 ultralytics.nn.modules.conv.Conv [256, 256, 3, 2]
20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1]
21 -1 1 1969152 ultralytics.nn.modules.block.C2f [768, 512, 1]
22 [15, 18, 21] 1 2147008 ultralytics.nn.modules.head.Detect [80, [128, 256, 512]]
Model summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
Transferred 355/355 items from pretrained weights
WARNING ⚠️ 'batch=-1' for AutoBatch is incompatible with Multi-GPU training, setting default 'batch=16'
DDP: debug command /home/burhan/ultra_repo/.ultra/bin/python -m torch.distributed.run --nproc_per_node 2 --master_port 54685 /home/burhan/.config/Ultralytics/DDP/_temp_o135mjif139927424095984.py
WARNING:__main__:
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
*****************************************
Ultralytics YOLOv8.2.20 🚀 Python-3.10.12 torch-2.2.0+cu121 CUDA:0 (NVIDIA A100-SXM4-80GB, 81051MiB)
CUDA:1 (NVIDIA A100-SXM4-80GB, 81051MiB)
Ultralytics HUB: View model at https://hub.ultralytics.com/models/bqwlsS8e96a9fzpRATuW 🚀
Transferred 355/355 items from pretrained weights
Freezing layer 'model.22.dfl.conv.weight'
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
train: Scanning /home/shared/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrounds, 0 corrupt: 100%|██████████| 128/128 [00:00<?, ?it/s]
train: Caching images (0.1GB RAM): 100%|██████████| 128/128 [00:00<00:00, 1948.18it/s]
val: Scanning /home/shared/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrounds, 0 corrupt: 100%|██████████| 128/128 [00:00<?, ?it/s]
val: Caching images (0.1GB RAM): 100%|██████████| 128/128 [00:00<00:00, 984.03it/s]
Plotting labels to ultralytics/runs/detect/train/labels.jpg...
optimizer: 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically...
optimizer: AdamW(lr=0.000714, momentum=0.9) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0005), 63 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 16 dataloader workers
Logging results to ultralytics/runs/detect/train
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 2.37G 1.215 1.451 1.245 42 640: 100%|██████████| 8/8 [00:02<00:00, 3.45it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:01<00:00, 6.85it/s]
all 128 929 0.757 0.684 0.76 0.588
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 2.43G 1.21 1.482 1.245 48 640: 100%|██████████| 8/8 [00:00<00:00, 8.90it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.82it/s]
all 128 929 0.748 0.665 0.764 0.58
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 2.44G 1.122 1.112 1.147 48 640: 100%|██████████| 8/8 [00:00<00:00, 9.47it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.54it/s]
all 128 929 0.711 0.692 0.777 0.591
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 2.44G 0.9762 0.9867 1.098 62 640: 100%|██████████| 8/8 [00:00<00:00, 9.60it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.94it/s]
all 128 929 0.771 0.71 0.797 0.623
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 2.49G 0.9425 0.9654 1.071 68 640: 100%|██████████| 8/8 [00:00<00:00, 9.25it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 16.00it/s]
all 128 929 0.762 0.734 0.802 0.621
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 2.44G 1.026 0.899 1.084 31 640: 100%|██████████| 8/8 [00:00<00:00, 9.77it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.68it/s]
all 128 929 0.826 0.733 0.809 0.629
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 2.48G 0.8806 0.8252 1.058 45 640: 100%|██████████| 8/8 [00:00<00:00, 9.26it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.98it/s]
all 128 929 0.799 0.768 0.818 0.638
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 2.47G 0.8754 0.818 1.025 49 640: 100%|██████████| 8/8 [00:00<00:00, 9.14it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.87it/s]
all 128 929 0.844 0.722 0.827 0.649
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 2.49G 0.9863 0.8815 1.152 36 640: 100%|██████████| 8/8 [00:00<00:00, 9.62it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.99it/s]
all 128 929 0.883 0.72 0.836 0.663
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 2.45G 0.98 0.8182 1.072 39 640: 100%|██████████| 8/8 [00:00<00:00, 10.12it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:00<00:00, 15.65it/s]
all 128 929 0.867 0.736 0.841 0.666
10 epochs completed in 0.006 hours.
Optimizer stripped from ultralytics/runs/detect/train/weights/last.pt, 22.6MB
Optimizer stripped from ultralytics/runs/detect/train/weights/best.pt, 22.6MB
Validating ultralytics/runs/detect/train/weights/best.pt...
Ultralytics YOLOv8.2.20 🚀 Python-3.10.12 torch-2.2.0+cu121 CUDA:0 (NVIDIA A100-SXM4-80GB, 81051MiB)
CUDA:1 (NVIDIA A100-SXM4-80GB, 81051MiB)
Model summary (fused): 168 layers, 11156544 parameters, 0 gradients, 28.6 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:02<00:00, 3.27it/s]
all 128 929 0.869 0.738 0.841 0.666
person 128 254 0.964 0.632 0.853 0.652
bicycle 128 6 0.801 0.333 0.537 0.312
car 128 46 1 0.306 0.591 0.311
motorcycle 128 5 0.917 1 0.995 0.89
airplane 128 6 0.964 1 0.995 0.907
bus 128 7 1 0.791 0.995 0.883
train 128 3 0.962 1 0.995 0.808
truck 128 12 0.961 0.5 0.69 0.434
boat 128 6 0.878 0.667 0.791 0.522
traffic light 128 14 1 0.249 0.356 0.285
stop sign 128 2 0.898 1 0.995 0.848
bench 128 9 1 0.733 0.833 0.603
bird 128 16 1 0.881 0.995 0.707
cat 128 4 0.926 1 0.995 0.891
dog 128 9 0.891 0.908 0.984 0.819
horse 128 2 0.896 1 0.995 0.75
elephant 128 17 1 0.923 0.955 0.795
bear 128 1 0.695 1 0.995 0.895
zebra 128 4 0.936 1 0.995 0.959
giraffe 128 9 1 0.956 0.995 0.85
backpack 128 6 1 0.703 0.837 0.594
umbrella 128 18 0.821 0.889 0.95 0.704
handbag 128 19 0.821 0.421 0.598 0.44
tie 128 7 1 0.802 0.858 0.618
suitcase 128 4 1 0.813 0.995 0.616
frisbee 128 5 0.89 0.8 0.804 0.684
skis 128 1 0.781 1 0.995 0.796
snowboard 128 7 0.569 0.714 0.763 0.579
sports ball 128 6 1 0.554 0.67 0.442
kite 128 10 0.89 0.3 0.583 0.296
baseball bat 128 4 0.668 0.25 0.565 0.43
baseball glove 128 7 0.935 0.429 0.439 0.3
skateboard 128 5 0.623 1 0.938 0.59
tennis racket 128 7 0.745 0.571 0.607 0.401
bottle 128 18 1 0.353 0.752 0.499
wine glass 128 16 1 0.485 0.703 0.501
cup 128 36 0.849 0.806 0.857 0.58
fork 128 6 0.802 0.333 0.644 0.478
knife 128 16 0.856 0.625 0.79 0.584
spoon 128 22 0.9 0.411 0.636 0.484
bowl 128 28 0.9 0.821 0.872 0.707
banana 128 1 0.732 1 0.995 0.995
sandwich 128 2 0.863 1 0.995 0.995
orange 128 4 0.556 0.75 0.702 0.524
broccoli 128 11 0.616 0.295 0.558 0.382
carrot 128 24 0.838 0.647 0.874 0.647
hot dog 128 2 0.876 1 0.995 0.995
pizza 128 5 0.967 1 0.995 0.904
donut 128 14 0.695 1 0.936 0.862
cake 128 4 0.944 1 0.995 0.905
chair 128 35 0.765 0.559 0.742 0.545
couch 128 6 0.816 0.749 0.852 0.708
potted plant 128 14 0.873 0.929 0.955 0.781
bed 128 3 0.908 1 0.995 0.94
dining table 128 13 1 0.757 0.854 0.738
toilet 128 2 0.965 1 0.995 0.896
tv 128 2 0.898 1 0.995 0.799
laptop 128 3 0.932 1 0.995 0.907
mouse 128 2 0.588 0.5 0.545 0.413
remote 128 8 1 0.638 0.861 0.662
cell phone 128 8 1 0.542 0.63 0.442
microwave 128 3 0.74 1 0.995 0.952
oven 128 5 0.76 0.6 0.665 0.479
sink 128 6 0.901 0.5 0.783 0.658
refrigerator 128 5 0.935 1 0.995 0.8
book 128 29 0.708 0.241 0.625 0.418
clock 128 9 0.89 0.9 0.973 0.818
vase 128 2 0.631 1 0.995 0.995
scissors 128 1 1 0 0.995 0.219
teddy bear 128 21 0.838 0.81 0.862 0.625
toothbrush 128 5 0.734 1 0.995 0.836
Speed: 0.1ms preprocess, 3.3ms inference, 0.0ms loss, 3.1ms postprocess per image
Results saved to ultralytics/runs/detect/train
Ultralytics HUB: Syncing final model...
100%|██████████| 21.5M/21.5M [00:01<00:00, 12.3MB/s]
Ultralytics HUB: Done ✅
Ultralytics HUB: View model at https://hub.ultralytics.com/models/bqwlsS8e96a9fzpRATuW 🚀 |
Note This PR is related to ultralytics/hub#695 and ultralytics/hub#606 |
I attempted launching a local training while logged into my HUB account (both with and without DDP), but the HUB logging doesn't appear to work for either case on this branch. from ultralytics import YOLO, hub
hub.login(API_KEY)
>>> Ultralytics HUB: New authentication successful ✅
>>> True
model = YOLO("yolov8s-pose.pt")
results = model.train(data="coco8-pose.yaml", epochs=10, device=6) No model was uploaded after training completes |
does this work properly with single-gpu mode on main branch? |
@Laughing-q yes it does work when I switch to |
I tested out a modification to the if SETTINGS["hub"] and self.hub_session is None:
# Create a model in HUB
try:
from ultralytics.hub.session import HUBTrainingSession
session = HUBTrainingSession(self.args.model)
self.hub_session = session if session.client.authenticated else self.hub_session
if self.hub_session:
self.hub_session.create_model(self.args)
# Check model was created
if not self.hub_session.model:
self.hub_session = None
except (PermissionError, ModuleNotFoundError):
# Ignore PermissionError and ModuleNotFoundError which indicates hub-sdk not installed
pass With these changes, I suddenly get lots of these in the training log
Train log
from ultralytics import YOLO, hub
hub.login(API_KEY)
>>> Ultralytics HUB: New authentication successful ✅
>>> True
model = YOLO("yolov8s-seg.pt")
result = model.train(data="coco8-seg.yaml", epochs=10, device=3)
Ultralytics YOLOv8.2.20 🚀 Python-3.10.12 torch-2.2.0+cu121 CUDA:3 (NVIDIA A100-SXM4-80GB, 81051MiB)
engine/trainer: task=segment, mode=train, model=yolov8s-seg.pt, data=coco8-seg.yaml, epochs=10, time=None, patience=100, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=3, workers=8, project=None, name=train6, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, bgr=0.0, mosaic=1.0, mixup=0.0, copy_paste=0.0, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=/home/burhan/tests/ultralytics/runs/segment/train6
from n params module arguments
0 -1 1 928 ultralytics.nn.modules.conv.Conv [3, 32, 3, 2]
1 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]
2 -1 1 29056 ultralytics.nn.modules.block.C2f [64, 64, 1, True]
3 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]
4 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True]
5 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]
6 -1 2 788480 ultralytics.nn.modules.block.C2f [256, 256, 2, True]
7 -1 1 1180672 ultralytics.nn.modules.conv.Conv [256, 512, 3, 2]
8 -1 1 1838080 ultralytics.nn.modules.block.C2f [512, 512, 1, True]
9 -1 1 656896 ultralytics.nn.modules.block.SPPF [512, 512, 5]
10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]
12 -1 1 591360 ultralytics.nn.modules.block.C2f [768, 256, 1]
13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]
15 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1]
16 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]
17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1]
18 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1]
19 -1 1 590336 ultralytics.nn.modules.conv.Conv [256, 256, 3, 2]
20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1]
21 -1 1 1969152 ultralytics.nn.modules.block.C2f [768, 512, 1]
22 [15, 18, 21] 1 2801504 ultralytics.nn.modules.head.Segment [80, 32, 128, [128, 256, 512]]
YOLOv8s-seg summary: 261 layers, 11821056 parameters, 11821040 gradients, 42.9 GFLOPs
Transferred 417/417 items from pretrained weights
2024-05-24 09:13:41,106 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
2024-05-24 09:13:41,109 - hub_sdk.helpers.logger - ERROR - Received no response from the server while creating the model.
Freezing layer 'model.22.dfl.conv.weight'
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
train: Scanning /home/shared/datasets/coco8-seg/labels/train.cache... 4 images, 0 backgrounds, 0 corrupt: 100%|██████████| 4/4 [00:00<?, ?it/s]
val: Scanning /home/shared/datasets/coco8-seg/labels/val.cache... 4 images, 0 backgrounds, 0 corrupt: 100%|██████████| 4/4 [00:00<?, ?it/s]
Plotting labels to /home/burhan/tests/ultralytics/runs/segment/train6/labels.jpg...
optimizer: 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 66 weight(decay=0.0), 77 weight(decay=0.0005), 76 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to /home/burhan/tests/ultralytics/runs/segment/train6
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
1/10 1.52G 0.9476 2.702 1.978 1.283 13 640: 100%|██████████| 1/1 [00:00<00:00, 1.31it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.19it/s]
all 4 17 0.822 0.898 0.94 0.679 0.822 0.898 0.939 0.592
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
2/10 1.54G 0.9262 2.695 2.596 1.247 13 640: 100%|██████████| 1/1 [00:00<00:00, 9.71it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 14.64it/s]
all 4 17 0.832 0.905 0.941 0.68 0.832 0.905 0.941 0.6
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
3/10 1.57G 0.8526 2.626 2.046 1.234 13 640: 100%|██████████| 1/1 [00:00<00:00, 8.52it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 17.86it/s]
all 4 17 0.838 0.913 0.942 0.68 0.838 0.913 0.935 0.599
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
4/10 1.57G 1.143 3.088 2.44 1.395 13 640: 100%|██████████| 1/1 [00:00<00:00, 8.65it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 23.26it/s]
all 4 17 0.834 0.913 0.94 0.672 0.834 0.913 0.939 0.601
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
5/10 1.55G 1.009 2.831 2.98 1.271 13 640: 100%|██████████| 1/1 [00:00<00:00, 3.74it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 0%| | 0/1 [00:00<?, ?it/s]2024-05-24 09:13:50,859 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 17.41it/s]
all 4 17 0.836 0.912 0.941 0.683 0.836 0.912 0.932 0.599
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
6/10 1.59G 1.268 3.083 2.17 1.654 13 640: 100%|██████████| 1/1 [00:00<00:00, 5.34it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 22.36it/s]
all 4 17 0.844 0.912 0.942 0.684 0.844 0.912 0.934 0.599
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
7/10 1.67G 0.7353 2.692 1.904 1.155 13 640: 100%|██████████| 1/1 [00:00<00:00, 9.19it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 22.59it/s]
all 4 17 0.889 0.911 0.942 0.684 0.889 0.911 0.934 0.602
2024-05-24 09:13:52,195 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
8/10 1.67G 1.062 2.927 2.253 1.209 13 640: 100%|██████████| 1/1 [00:00<00:00, 7.85it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 22.27it/s]
all 4 17 0.846 0.913 0.942 0.674 0.846 0.913 0.934 0.587
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
9/10 1.65G 1.024 2.655 2.2 1.32 13 640: 100%|██████████| 1/1 [00:00<00:00, 7.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 23.05it/s]
all 4 17 0.873 0.915 0.942 0.675 0.873 0.915 0.934 0.587
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
10/10 1.65G 0.6717 1.964 1.453 1.056 13 640: 100%|██████████| 1/1 [00:00<00:00, 7.38it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 22.08it/s]
all 4 17 0.863 0.925 0.942 0.687 0.863 0.925 0.934 0.603
2024-05-24 09:13:54,152 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
10 epochs completed in 0.002 hours.
2024-05-24 09:13:54,537 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
Optimizer stripped from /home/burhan/tests/ultralytics/runs/segment/train6/weights/last.pt, 23.9MB
Optimizer stripped from /home/burhan/tests/ultralytics/runs/segment/train6/weights/best.pt, 23.9MB
Validating /home/burhan/tests/ultralytics/runs/segment/train6/weights/best.pt...
Ultralytics YOLOv8.2.20 🚀 Python-3.10.12 torch-2.2.0+cu121 CUDA:3 (NVIDIA A100-SXM4-80GB, 81051MiB)
YOLOv8s-seg summary (fused): 195 layers, 11810560 parameters, 0 gradients, 42.6 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 26.21it/s]
2024-05-24 09:13:55,403 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
all 4 17 0.863 0.924 0.942 0.671 0.863 0.924 0.934 0.587
person 4 10 0.844 0.547 0.678 0.339 0.844 0.547 0.629 0.308
dog 4 1 0.737 1 0.995 0.895 0.737 1 0.995 0.895
horse 4 2 0.903 1 0.995 0.65 0.903 1 0.995 0.226
elephant 4 2 0.946 1 0.995 0.448 0.946 1 0.995 0.4
umbrella 4 1 0.75 1 0.995 0.895 0.75 1 0.995 0.895
potted plant 4 1 1 1 0.995 0.796 1 1 0.995 0.796
2024-05-24 09:13:57,840 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
2024-05-24 09:13:58,935 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
Speed: 0.1ms preprocess, 2.2ms inference, 0.0ms loss, 0.8ms postprocess per image
Results saved to /home/burhan/tests/ultralytics/runs/segment/train6
2024-05-24 09:14:00,430 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
Ultralytics HUB: Syncing final model...
2024-05-24 09:14:01,795 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
2024-05-24 09:14:02,201 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
59%|█████▉ | 13.5M/22.8M [00:00<00:00, 15.2MB/s]2024-05-24 09:14:04,112 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance.
100%|██████████| 22.8M/22.8M [00:01<00:00, 14.2MB/s]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/burhan/ultra_repo/ultralytics/ultralytics/engine/model.py", line 660, in train
self.trainer.train()
File "/home/burhan/ultra_repo/ultralytics/ultralytics/engine/trainer.py", line 205, in train
self._do_train(world_size)
File "/home/burhan/ultra_repo/ultralytics/ultralytics/engine/trainer.py", line 468, in _do_train
self.run_callbacks("on_train_end")
File "/home/burhan/ultra_repo/ultralytics/ultralytics/engine/trainer.py", line 165, in run_callbacks
callback(self)
File "/home/burhan/ultra_repo/ultralytics/ultralytics/utils/callbacks/hub.py", line 69, in on_train_end
LOGGER.info(f"{PREFIX}Done ✅\n" f"{PREFIX}View model at {session.model_url} 🚀")
AttributeError: 'HUBTrainingSession' object has no attribute 'model_url'
>>> 2024-05-24 09:14:08,415 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
Ultralytics HUB: Received no response from the request. If this issue persists please visit https://github.com/ultralytics/hub/issues for assistance. |
@glenn-jocher @Burhan-Q @sergiuwaxmann Guys I think I found a bug of hub-sdk package here...when using HUB logging for local training. ultralytics/ultralytics/hub/session.py Line 96 in 654c37f
which means HUB logging fails when we pass an arg to override cache (True or False) i.e using following script to launch a training locally on main branch won't get any logging on HUB:
from ultralytics import YOLO, hub
hub.login(API_KEY)
model = YOLO("yolov8s-pose.pt")
results = model.train(data="coco8-pose.yaml", epochs=10, cache=True) meanwhile it throws hub error log: 2024-05-24 22:06:46,208 - hub_sdk.helpers.logger - ERROR - Unknown error occurred.
2024-05-24 22:06:46,210 - hub_sdk.helpers.logger - ERROR - Received no response from the server while creating the model Based on the case, and the fact I updated the parameter of passing ultralytics/ultralytics/engine/trainer.py Line 785 in 570f894
By default cache equals to False from self.args , hence no HUB logging.It seems to me root is the cache issue from hub-sdk package.
|
I could easily fix the issue in this PR by excluding |
@Laughing-q @Burhan-Q @sergiuwaxmann strange. I think this PR might need some extra study, if we rush a solution we might just end up with more bugs. What we need is a solution that will log to HUB correctly when training from both:
We should really strive to implement the logging identically to W&B, which works correctly with our callbacks in all scenarios. I don't have much time today but I will look into this this weekend. |
@glenn-jocher I resolved the conflicts and eliminated the FYI I used to consider updating |
@Laughing-q wow this is great, much simpler! |
ultralytics 8.2.41
fix HUB session with DDP training
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
@Laughing-q I'm getting errors when training DDP from HUB to local. I see there are dataset download issues also, this appears to be happening twice, so I think we need to only autodownload datasets on RANK -1, 0, but that might be a separate issue. |
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
@Laughing-q I've been testing this some more and something strange is happening on dataset download from HUB (both single and multi-GPU), where coco8 is not unzipping correctly to ../datasets/coco8, it's unzipping to ../datasets/coco8/coco8. I'm going to merge this PR and try to figure out what's happening on the dataset unzip issue. |
ultralytics 8.2.41
fix HUB session with DDP training* Display Val images per class (ultralytics#12645) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Docs: Update HUB Teams page (ultralytics#13215) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix ARM64 Docker building (ultralytics#13217) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix Classifier last layer indexing (ultralytics#13219) * Update Exporter for `tf_keras` install (ultralytics#13231) * Install `cmake` with `onnxsim` (ultralytics#13222) * Add multiple lines graph support in `analytics` 8.2.26 (ultralytics#13214) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add Prettier for YAML formatting to Ultralytics Actions (ultralytics#13236) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Docs Solutions to Navigation Bar (ultralytics#13249) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Richard Abrich <richard.abrich@gmail.com> * Add Data Collection and Annotation Docs Page and Preprocessing Annotated Data Docs Page (ultralytics#13253) * Update `tensorstore` link for ARM64 Docker (ultralytics#13264) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add YOLOv10 model description in docs home page (ultralytics#13265) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix `xyxyxyxy2xywhr` for Numpy inputs (ultralytics#13273) * `ultralytics 8.2.27` replace `onnxsim` with `onnxslim` (ultralytics#12989) Co-authored-by: inisis <desmond.yao@buaa.edu.cn> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: inisis <46103969+inisis@users.noreply.github.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Use new `ultralytics-thop` package (ultralytics#13282) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Revert `ultralytics-thop` to optional (ultralytics#13290) * Update HUB Integrations page in Docs (ultralytics#13292) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Docs spelling and grammar fixes (ultralytics#13307) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: RainRat <rainrat78@yahoo.ca> * Update HUB SDK Docs (ultralytics#13309) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * import `torchvision` during Predict warmup (ultralytics#13313) * `ultralytics 8.2.28` improved NMS speeds (ultralytics#13315) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix for ValueError (expected type INT8) (ultralytics#13341) * Suppress YouTube Test `ConnectionError` (ultralytics#13357) * Add ops.py comment for `nm` = number of masks (ultralytics#13353) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix Docs export table from `onnxsim` to `onnxslim` (ultralytics#13324) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add area chart in `analytics` (ultralytics#13391) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Clean up Docs pages (ultralytics#13370) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Search for model metadata with TensorFlow GraphDef (ultralytics#13389) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Edge TPU export table fix (ultralytics#13420) * Add https://youtu.be/pWYiene9lYw & https://youtu.be/Unt4Lfid7aY to docs (ultralytics#13380) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update Minimum Reproducible Example (MRE) Docs page (ultralytics#13443) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update Python file headers (ultralytics#13445) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix Paddle 2.6.0 Dockerfile install bug (ultralytics#13447) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.29` new fractional AutoBatch feature (ultralytics#13446) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Burhan <62214284+Burhan-Q@users.noreply.github.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Refactor Python code (ultralytics#13448) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Code Refactor for Speed and Readability (ultralytics#13450) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.30` automated tags and release notes (ultralytics#13164) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix release publish action (ultralytics#13462) * Update publish.yml to handle existing tag (ultralytics#13463) * Update publish.yml (ultralytics#13464) * Docs Prettier reformat (ultralytics#13483) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Update CI to `pull_request_target` (ultralytics#13495) * Add NVIDIA Jetpack4 and Jetpack5 Docker Images (ultralytics#13100) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Lakshantha <lakshantha@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.31` NVIDIA Jetpack4 and Jetpack5 Dockerfile Images (ultralytics#13496) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix `jp` to `jetpack` (ultralytics#13499) * Add https://youtu.be/ydGdibB5Mds to docs (ultralytics#13555) * `ultralytics 8.2.32` Apple MPS device Autobatch handling (ultralytics#13568) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.33` pin `numpy<2.0.0` for compatibility (ultralytics#13661) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.34` bump `ultralytics-thop>=2.0.0` (ultralytics#13662) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Code Refactor `ruff check --fix --extend-select I` (ultralytics#13672) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Clean up unused `Silence` module (ultralytics#13674) * `ultralytics 8.2.35` add YOLOv9t/s/m models (ultralytics#13504) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update YOLOv9 YAMLs (ultralytics#13756) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix TensorRT Doc Overview URL (ultralytics#13759) * YOLOv9 model docs page cleanup (ultralytics#13757) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Apply new Ruff actions to Python codeblocks (ultralytics#13783) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * ROS Quickstart Guide (ultralytics#13553) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update Ruff formatting actions (ultralytics#13787) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * https://youtu.be/biIW5Z6GYl0 to docs (ultralytics#13797) * Replace https://youtu.be/biIW5Z6GYl0 with https://www.youtube.com/embed/biIW5Z6GYl0 (ultralytics#13804) * Deprecate `Silence` module in favor of `nn.Identity` (ultralytics#13785) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Laughing-q <1185102784@qq.com> * `ultralytics 8.2.36` update Ultralytics color palette (ultralytics#13808) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update CLA Action (ultralytics#13831) * Update OpenCV image read error message (ultralytics#13822) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * ROS quickstart Docs page cleanup (ultralytics#13835) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Annotator `txt_color` updates (ultralytics#13842) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.37` update `temporary_modules` and Remove YOLOv9e `Silence` module (ultralytics#13819) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.38` official YOLOv10 support (ultralytics#13113) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Laughing-q <1185102784@qq.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Laughing <61612323+Laughing-q@users.noreply.github.com> * Code refactor https://ultralytics.com/actions (ultralytics#13844) * ROS Quickstart, fixed code formatting (ultralytics#13855) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Replace `+=` with faster list `.append()` (ultralytics#13849) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix ambiguous variable names (ultralytics#13864) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Alex Pasquali <alexpasquali98@gmail.com> * Add https://youtu.be/tq3FU_QczxE to docs (ultralytics#13867) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update yolov8-p6.yaml with model parameters and GFLOPs (ultralytics#13862) * Fix HUB link https://ultralytics.com/hub (ultralytics#13884) Co-authored-by: Mughees Ahmad <itsmughees@gmail.com> * `ultralytics 8.2.39` update `onnxslim>=0.1.31` (ultralytics#13883) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Kayzwer <68285002+Kayzwer@users.noreply.github.com> * `ultralytics 8.2.40` refactor HUB code into callbacks (ultralytics#13896) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Adjust `numpy<2.0.0` compatibility (ultralytics#13906) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix HUB session with DDP training (ultralytics#13103) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Burhan <62214284+Burhan-Q@users.noreply.github.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Compress ROS Guide Images (ultralytics#13914) * `ultralytics 8.2.41` fix HUB unzip subdirectory bug (ultralytics#13913) * Add YOLOv8 OpenVINO C++ Inference example (ultralytics#13839) Co-authored-by: Muhammad Amir Abdurrozaq <m.amir.hs19@gmail.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Ultralytics TensorRT10 update (ultralytics#13933) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Dockerfile FROM `pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime` (ultralytics#13937) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add CLI commands for `predict` and `train` YOLOv10 models. (ultralytics#13940) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.42` NVIDIA TensorRT 10 default (ultralytics#13943) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: DeepDiver <zhaoxu1015@gmail.com> Co-authored-by: Laughing <61612323+Laughing-q@users.noreply.github.com> * YOLO Segment `sigmoid()` fix (ultralytics#13939) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: DeepDiver <zhaoxu1015@gmail.com> Co-authored-by: Laughing <61612323+Laughing-q@users.noreply.github.com> * Add warning for inference end2end models with `augment` arg (ultralytics#13958) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Adjust box labels on right image side (ultralytics#13959) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.43` enable `classes` filter for end2end models (ultralytics#13971) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Added a `max_size` parameter to the `plot_images` function (ultralytics#14002) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add Tips for Model Training Docs Page (ultralytics#14011) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.44` Increase Predict dataloader robustness (ultralytics#14005) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.45` Fix YOLOv8 `augment` inference (ultralytics#14017) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.46` fix OBB Results `xyxy` attribute (ultralytics#14020) * Add https://youtu.be/eX5ad6udQ9Q to docs (ultralytics#14077) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix deprecation warning (ultralytics#14091) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add Insights on Model Evaluation and Fine-Tuning Docs Page (ultralytics#14085) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Strip `dfl_loss` from `BboxLoss` (ultralytics#14041) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.46` Results, DFL and AIGym fixes (ultralytics#14074) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: AAOMM <52826299+Chayanonjackal@users.noreply.github.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> Co-authored-by: zzzer <48149018+zhixuwei@users.noreply.github.com> Co-authored-by: Abirami Vina <abirami.vina@gmail.com> * `ultralytics 8.2.47` YOLOv8 zero-shot action recognition example (ultralytics#13935) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.48` strip model `criterion` on save (ultralytics#14106) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Default strip_optimizer() to `use_dill=False` (ultralytics#14107) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Ultralytics Code Refactor https://ultralytics.com/actions (ultralytics#14109) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Update NVIDIA Jetson DeepStream Guide with YOLOv8 and Jetson Orin Support (ultralytics#14059) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> * Update FAQ.md (ultralytics#14134) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Update Results and CFG docstrings (ultralytics#14139) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add Docs models pages FAQs (ultralytics#14167) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add Model Testing Guide and Best Practices for Model Deployment Guide (ultralytics#14105) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: RizwanMunawar <chr043416@gmail.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> * Add https://youtu.be/mUybgOlSxxA to docs (ultralytics#14195) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add FAQ sections to Modes and Tasks (ultralytics#14181) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Abirami Vina <abirami.vina@gmail.com> Co-authored-by: RizwanMunawar <chr043416@gmail.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> * `ultralytics 8.2.49` fix classification `setup_model` (ultralytics#14199) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add FAQs to Docs Datasets and Help sections (ultralytics#14211) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix mkdocs.yml raw image URLs (ultralytics#14213) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Burhan <62214284+Burhan-Q@users.noreply.github.com> * Fix Action Recognition Example with `torch>=2.0` (ultralytics#14232) * Add Discourse at https://community.ultralytics.com (ultralytics#14231) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.50` new Streamlit live inference Solution (ultralytics#14210) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: RizwanMunawar <chr043416@gmail.com> Co-authored-by: Kayzwer <68285002+Kayzwer@users.noreply.github.com> * Pin `tensorrt<=10.1.0` to fix `libnvinfer_builder_resource_win.so.10.2.0` error (ultralytics#14239) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Dockerfile install `tensorrt-cu12==10.1.0` (ultralytics#14240) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update Pose docs with keypoint explanations (ultralytics#14248) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.51` update YOLOv9 `GITHUB_ASSETS_NAMES` (ultralytics#14261) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Allow OpenVINO export from CUDA (ultralytics#14256) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix `end2end` attribute in `init_criterion` (ultralytics#14267) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add Maintaining Your Computer Vision Models Docs Page (ultralytics#14304) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `allow_empty=True` for Classify dataset class directories (ultralytics#14301) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix Annotator PIL Image size (width, height) order (ultralytics#14227) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.52` fix CenterCrop transforms for PIL Image inputs (ultralytics#14308) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Lucas Buligon Antunes <lukasbuligonantunes@gmail.com> * BaseTrainer with `find_unused_parameters=True` when using DistributedDataParallel() (ultralytics#14323) * Ultralytics Asset URL Update (ultralytics#14345) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.53` Heatmaps fix for empty images (ultralytics#14329) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: RizwanMunawar <chr043416@gmail.com> * `ultralytics 8.2.54` resolve YouTube bug with switch to `pytubefix` (ultralytics#14354) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add https://youtu.be/fLBbyhPbWzY to docs (ultralytics#14356) * `ultralytics 8.2.55` adaptive `tflite_support` logic (ultralytics#14385) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> Co-authored-by: Nguyễn Anh Bình <sometimesocrazy@gmail.com> Co-authored-by: Johnny <johnnynuca14@gmail.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.56` Streamlit tracking app (ultralytics#14269) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> Co-authored-by: Nguyễn Anh Bình <sometimesocrazy@gmail.com> Co-authored-by: Johnny <johnnynuca14@gmail.com> * Fix `TORCHVISION_0_18` for `allow_empty=True` (ultralytics#14415) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add https://youtu.be/gX5kSRD56Gs to docs (ultralytics#14417) * Fix `model.save()` method to FP16 (ultralytics#14418) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.57` new Solutions Tests and Docs (ultralytics#14408) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Scope `tkinter` and `streamlit` in Solutions tests (ultralytics#14426) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix `_process_batch()` docstrings (ultralytics#14454) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.58` FastSAM code refactor (ultralytics#14450) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix `model` parameter in Pose, Segment dataset train examples (ultralytics#14505) * Warn on `save_hybrid=True` (ultralytics#14484) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Remove redundant assignment (ultralytics#14498) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update `FastSAM` and `SAM` docs (ultralytics#14499) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add Kaggle Integrations Docs Page (ultralytics#14487) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix `Enable Tracking` Button and Optimize FPS in Streamlit Application (ultralytics#14508) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.59` use `Results.save_txt` for validation (ultralytics#14496) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Allow `test-dev2017.txt` for val (ultralytics#14519) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add https://youtu.be/isc06_9qnM0 to docs (ultralytics#14525) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix NCNN multiple-volumes PNNX download bug (ultralytics#14533) * `ultralytics 8.2.60` refactor `process_mask_upsample` (ultralytics#14474) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix Multi-GPU trained model export (ultralytics#14551) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix Docs pretty `__init__.py` URLs (ultralytics#14550) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add https://youtu.be/ziJR01lKnio to docs (ultralytics#14554) * Add Custom CLIP Model Download Path (ultralytics#14517) Co-authored-by: wangsrGit119 <1215618342@email.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.61` fix `num_threads` for CPU training (ultralytics#14544) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Pin `pytubefix==6.3.4` for YouTube fix (ultralytics#14571) * Replace `enumerate` + index with `zip()` (ultralytics#14574) * Engine Model and Results Docs improvements (ultralytics#14564) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Felipe Parodi <fparodi@pennmedicine.upenn.edu> * Add Streamlit Inference Python `model` arg (ultralytics#14563) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.62` add Explorer CLI `model` and `data` args (ultralytics#14581) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Mohammed Yasin <32206511+Y-T-G@users.noreply.github.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix Docs plaintext link scan (ultralytics#14583) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> * Plaintext negative lookbehind scan (ultralytics#14601) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Replace enumerate with zip in models/yolo (ultralytics#14599) * `ultralytics 8.2.63` refactor `FastSAMPredictor` (ultralytics#14582) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Laughing <61612323+Laughing-q@users.noreply.github.com> Co-authored-by: Laughing-q <1185102784@qq.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update format.yml for PAT (ultralytics#14608) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix OBB Docs page commas error (ultralytics#14609) * Add NAS autodownload (ultralytics#14627) * Windows `torch==2.4.0` Segment `augment=True` failed test bypass (ultralytics#14637) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix torchvision InterpolationMode warnings (ultralytics#14632) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> * Patch `torch.load(..., weights_only=False)` to reduce warnings (ultralytics#14638) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Attempt to fix NAS models inference (ultralytics#14630) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> * Fix Streamlit Inference model suffix bug (ultralytics#14621) Co-authored-by: malopez <miguelangel.lopez@solute.es> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix `torch.amp.autocast('cuda')` warnings (ultralytics#14633) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> * `ultralytics 8.2.64` YOLOv10 SavedModel, TFlite, and GraphDef export (ultralytics#14572) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * New AGLU activation module (ultralytics#14644) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix `torch.amp` has no attribute `GradScaler` (ultralytics#14647) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add warning when `cache_ram` works with classify (ultralytics#14650) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Allow `agnostic_nms` option for validation (ultralytics#14675) * `ultralytics 8.2.65` fix YouTube throttling bug (ultralytics#14684) * Remove duplicate `make_divisible` function (ultralytics#14690) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add https://youtu.be/_gRqR-miFPE to docs (ultralytics#14698) * Updates `save_period` to include first epoch (ultralytics#14700) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add compatible `tensorstore` versions for `aarch64` (ultralytics#14697) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.66` HUB model autodownload (ultralytics#14702) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `SETTINGS` type and key checks (ultralytics#14703) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add JetPack6 Docker for NVIDIA Jetson Orin Series (ultralytics#14707) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.67` new NVIDIA Jetson Orin Jetpack 6 Docker image (ultralytics#14740) * Simplify Dockerfile `WORKDIR` (ultralytics#14750) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.68` new HUB GCP region latency tests (ultralytics#14753) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add JupyterLab Integrations Docs Page (ultralytics#14755) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fixed OpenVINO Docs formatting (ultralytics#14773) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Add IBM Watsonx Integrations Docs Page (ultralytics#14785) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Update Ultralytics issue templates (ultralytics#14718) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Burhan <62214284+Burhan-Q@users.noreply.github.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Eliminate `set()` to avoid `set()` + `list()` op (ultralytics#14745) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.69` FastSAM prompt inference refactor (ultralytics#14724) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update comet from init() to login() (ultralytics#14793) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * New Meta Segment Anything Model 2 (SAM2) Docs page (ultralytics#14794) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * SAM2 mkdocs.yml fix (ultralytics#14796) * `py-cpuinfo` Exception context manager fix (ultralytics#14814) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add https://youtu.be/_gRqR-miFPE & https://youtu.be/CfbHwPG01cE to docs (ultralytics#14817) * `ultralytics 8.2.70` Segment Anything Model 2 (SAM 2) (ultralytics#14813) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Exported model batch size validation fix (ultralytics#14845) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix `model` in Pose, Segment datasets train FAQ sections (ultralytics#14877) * Fixed `box_label` docstrings (ultralytics#14866) Co-authored-by: dearMOMO <34231503+dearMOMO@users.noreply.github.com> * Add missing CLI `yolo` commands for `TASK` and `MODE` in Docs - Quickstart and CLI Guide (ultralytics#14882) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update SAM 2 docs (ultralytics#14864) * Increase Dockerfile build `max-parallel` (ultralytics#14892) * Fix incorrect CLI commands in Datasets Docs (ultralytics#14889) * Add Segment masks to YOLO-Seg labels converter (ultralytics#14557) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.71` Multinode DDP training (ultralytics#14879) Co-authored-by: Haris Rehman <haris.rehman.cowlar@gmail.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Delete Docker Cache before building Image (ultralytics#14894) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * ROS quickstart meta description (ultralytics#14932) * Fix the docstring of xywhr2xyxyxyxy (ultralytics#14934) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fixed `circle_label` and `text_label` docstrings (ultralytics#14909) * Fix `is_url()` and `check_disk_space()` docstrings in downloads.py (ultralytics#14923) * Update MLP module for RTDETR backward compatibility (ultralytics#14901) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Corrects CONTRIBUTING.md relative link to CLA.md (ultralytics#14857) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.72` SAM 2 multiple-`bboxes` support (ultralytics#14928) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.73` Meta SAM2 Refactor (ultralytics#14867) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Ignore Vimeo 401 'unauthorized' errors (ultralytics#14980) * fix example for plotting Ray Tune history (ultralytics#14970) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update NVIDIA Jetson Docs with JetPack 6 (ultralytics#14939) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> * Fix OpenVINO Export Docs (ultralytics#14918) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.74` add `fuse_score=True` BoT-SORT and ByteTrack arg (ultralytics#14965) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Fix Docker git permissions (ultralytics#14995) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Dedicated Inference API Docs (ultralytics#14992) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update HUB Inference API Docs (ultralytics#15035) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Sergiu Waxmann <waxmann.sergiu@me.com> * Add `allow_background_images=True` in split_dota.py (ultralytics#15037) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * `ultralytics 8.2.75` new Docs author profiles (ultralytics#15050) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update Docs CSS (ultralytics#15062) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Use macros for Docs tables de-duplication (ultralytics#14990) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Delete `/macros` dir from Docs site (ultralytics#15068) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Delete macros from sitemap.xml (ultralytics#15105) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Add https://youtu.be/EeDd5P4eS6A to docs (ultralytics#15107) * Optimized SAHI video inference (ultralytics#15183) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update `convert_segment_masks_to_yolo_seg` to support custom datasets (ultralytics#15176) * `ultralytics 8.2.76` Autobackend TensorRT/Triton Segment metadata fix (ultralytics#15185) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update Contributing guidelines (ultralytics#15373) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fixed multiscale preprocess_batch (ultralytics#15392) * Improve trainer DDP device handling (ultralytics#15383) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update Conda CI (ultralytics#15443) * Update Tracker docstrings (ultralytics#15469) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * `ultralytics 8.2.77` new `color_mode=instance` plot arg (ultralytics#15034) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update yolov8_sahi.py (ultralytics#15470) Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Ultralytics Actions JSON, CSS and autolabel support (ultralytics#15599) Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Remove unnecessary assignments (ultralytics#15582) * YOLO Vision 2024 updates https://ultralytics.com/events/yolovision (ultralytics#15602) Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> --------- Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Adamcode <86471590+sunmooncode@users.noreply.github.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Sergiu Waxmann <47978446+sergiuwaxmann@users.noreply.github.com> Co-authored-by: Lakshantha Dissanayake <lakshanthad@yahoo.com> Co-authored-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com> Co-authored-by: Richard Abrich <richard.abrich@gmail.com> Co-authored-by: Abirami Vina <abirami.vina@gmail.com> Co-authored-by: Kayzwer <68285002+Kayzwer@users.noreply.github.com> Co-authored-by: inisis <desmond.yao@buaa.edu.cn> Co-authored-by: inisis <46103969+inisis@users.noreply.github.com> Co-authored-by: RainRat <rainrat78@yahoo.ca> Co-authored-by: czy10383 <81451461+czy10383@users.noreply.github.com> Co-authored-by: kubade-ashish <ashish.ak@perfios.com> Co-authored-by: Burhan <62214284+Burhan-Q@users.noreply.github.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> Co-authored-by: Paula Derrenger <107626595+pderrenger@users.noreply.github.com> Co-authored-by: Ivor Zhu <130829914+IvorZhu331@users.noreply.github.com> Co-authored-by: Ahmed Mahfouz <ahmelsamahy@gmail.com> Co-authored-by: Lakshantha <lakshantha@ultralytics.com> Co-authored-by: alexwine36 <alexwine36@gmail.com> Co-authored-by: Laughing <61612323+Laughing-q@users.noreply.github.com> Co-authored-by: Francesco Mattioli <Francesco.mttl@gmail.com> Co-authored-by: Laughing-q <1185102784@qq.com> Co-authored-by: xiaoluohao <blackhu@users.noreply.github.com> Co-authored-by: Alex Pasquali <alexpasquali98@gmail.com> Co-authored-by: Mughees Ahmad <itsmughees@gmail.com> Co-authored-by: Erlangga Yudi Pradana <erlanggayudipradana@gmail.com> Co-authored-by: Muhammad Amir Abdurrozaq <m.amir.hs19@gmail.com> Co-authored-by: DeepDiver <zhaoxu1015@gmail.com> Co-authored-by: jackwolfey <91648300+jackwolfey@users.noreply.github.com> Co-authored-by: bobyard-com <154289614+bobyard-com@users.noreply.github.com> Co-authored-by: zzzer <48149018+zhixuwei@users.noreply.github.com> Co-authored-by: AAOMM <52826299+Chayanonjackal@users.noreply.github.com> Co-authored-by: fatih c. akyon <34196005+fcakyon@users.noreply.github.com> Co-authored-by: RizwanMunawar <chr043416@gmail.com> Co-authored-by: JF Chen <k-2feng@hotmail.com> Co-authored-by: Antônio Martos Harres <tom.mharres@gmail.com> Co-authored-by: Alejandro Casanova <36633619+Alejandro-Casanova@users.noreply.github.com> Co-authored-by: Alexis IMBERT <97242148+Alexis-IMBERT@users.noreply.github.com> Co-authored-by: Sheffey <57262511+SheffeyG@users.noreply.github.com> Co-authored-by: Lucas Buligon Antunes <lukasbuligonantunes@gmail.com> Co-authored-by: Chia-Hsiang Tsai <84863554+Tsai-chia-hsiang@users.noreply.github.com> Co-authored-by: Nguyễn Anh Bình <sometimesocrazy@gmail.com> Co-authored-by: Johnny <johnnynuca14@gmail.com> Co-authored-by: Haonan Liu <hnliu_2@stu.xidian.edu.cn> Co-authored-by: Aryan Jassal <84617406+aryanjassal@users.noreply.github.com> Co-authored-by: zhiqiang yang <89863442+yang-0201@users.noreply.github.com> Co-authored-by: Ariel Kukulanski <akukulanski@gmail.com> Co-authored-by: Mohammed Yasin <32206511+Y-T-G@users.noreply.github.com> Co-authored-by: suke <32221726+wangsrGit119@users.noreply.github.com> Co-authored-by: wangsrGit119 <1215618342@email.com> Co-authored-by: Felipe Parodi <fparodi@pennmedicine.upenn.edu> Co-authored-by: rulosant <rulosanti@gmail.com> Co-authored-by: Miguel Angel Lopez <malopez00@gmail.com> Co-authored-by: malopez <miguelangel.lopez@solute.es> Co-authored-by: Hassan Ghaffari <53246858+hasanghaffari93@users.noreply.github.com> Co-authored-by: Kevin <kevin.qh.lin@gmail.com> Co-authored-by: Jan Knobloch <116908874+jk4e@users.noreply.github.com> Co-authored-by: dearMOMO <34231503+dearMOMO@users.noreply.github.com> Co-authored-by: Haris Rehman <115916265+Harri200191@users.noreply.github.com> Co-authored-by: Haris Rehman <haris.rehman.cowlar@gmail.com> Co-authored-by: Zeel B Patel <patel_zeel@iitgn.ac.in> Co-authored-by: Maxi <60036186+mfloto@users.noreply.github.com> Co-authored-by: Sergiu Waxmann <waxmann.sergiu@me.com> Co-authored-by: Galasnow <854932917@qq.com> Co-authored-by: alanZee <92136487+alanZee@users.noreply.github.com>
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: Burhan <62214284+Burhan-Q@users.noreply.github.com> Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
🛠️ PR Summary
Made with ❤️ by Ultralytics Actions
🌟 Summary
Improved distributed training and HUB session handling in the Ultralytics training workflow. 🛠️
📊 Key Changes
torch_distributed_zero_first
decorator to ensure all distributed processes wait for the main process to complete certain tasks.torch_distributed_zero_first
to prevent multiple auto-downloads of the dataset in distributed settings.🎯 Purpose & Impact