class Args(argparse.Namespace):
model = 'yolov8l.pt'
cfg = 'default.yaml'
iterative_steps = 15
target_prune_rate = 0.15
max_map_drop = 0.2
sched = Schedule(partial(sched_onecycle, α=10, β=4))
args=Args()
prune(args)
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 43668288 parameters, 0 gradients, 165.2 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.731 0.768 0.828 0.659
Speed: 0.1ms preprocess, 7.7ms inference, 0.0ms loss, 0.6ms postprocess per image
Results saved to runs/detect/val59
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=None, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/train49
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
Before Pruning: MACs= 82.72641 G, #Params= 43.69152 M, mAP= 0.65869
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/train49/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/train49
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 14.4G 0.8537 0.7447 1.082 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.776 0.741 0.832 0.667
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 12.8G 0.8612 0.7059 1.079 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.859 0.75 0.861 0.697
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 12.7G 0.8249 0.6306 1.054 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.882 0.753 0.862 0.709
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 12.8G 0.7998 0.5746 1.047 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.882 0.799 0.87 0.721
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 13.1G 0.8028 0.5566 1.034 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.88 0.804 0.876 0.728
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 12.8G 0.8042 0.5415 1.047 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.896 0.833 0.901 0.741
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 12.8G 0.7493 0.5095 1.003 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.906 0.827 0.902 0.746
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 12.8G 0.7589 0.5373 1.012 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.91 0.828 0.903 0.749
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 12.8G 0.7234 0.4783 0.9947 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.912 0.832 0.906 0.754
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 12.7G 0.7445 0.4764 0.9944 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.905 0.839 0.905 0.754
10 epochs completed in 0.027 hours.
Optimizer stripped from runs/detect/train49/weights/last.pt, 175.3MB
Optimizer stripped from runs/detect/train49/weights/best.pt, 175.3MB
Validating runs/detect/train49/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 43668288 parameters, 0 gradients, 165.2 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.904 0.841 0.905 0.755
Speed: 0.1ms preprocess, 4.2ms inference, 0.0ms loss, 0.3ms postprocess per image
Results saved to runs/detect/train49
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 43668288 parameters, 0 gradients, 165.2 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.917 0.823 0.901 0.754
Speed: 0.2ms preprocess, 10.8ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/baseline_val184
Before Pruning: MACs= 82.72641 G, #Params= 43.69152 M, mAP= 0.75438
Conv2d(3, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
0.27046189978777607
After Pruning
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 43325836 parameters, 74176 gradients, 163.3 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.883 0.849 0.903 0.743
Speed: 0.2ms preprocess, 12.4ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_0_pre_val131
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_0_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_0_finetune103
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 1: MACs=81.8125668 G, #Params=43.348966 M, mAP=0.7428735001565969, speed up=1.0111699172357467
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_0_finetune103/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_0_finetune103
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13.6G 0.7161 0.4777 0.9953 122 640: 100%|██████████| 8/8 [00:03
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.92 0.841 0.907 0.75
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 13.3G 0.6503 0.4152 0.9541 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.904 0.851 0.91 0.765
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 13.2G 0.6809 0.434 0.9746 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.902 0.854 0.907 0.768
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 13.2G 0.6464 0.4095 0.9681 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.919 0.853 0.913 0.773
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 13.2G 0.6799 0.4357 0.9637 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.916 0.856 0.918 0.779
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 13.2G 0.6787 0.4261 0.9708 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.924 0.851 0.923 0.78
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 13.2G 0.6758 0.4286 0.957 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.91 0.852 0.92 0.785
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 13.2G 0.6818 0.4492 0.9705 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.899 0.856 0.921 0.786
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 13.2G 0.6594 0.429 0.9635 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.894 0.871 0.925 0.794
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 13.2G 0.6705 0.4277 0.9541 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.899 0.87 0.927 0.793
10 epochs completed in 0.038 hours.
Optimizer stripped from runs/detect/step_0_finetune103/weights/last.pt, 173.9MB
Optimizer stripped from runs/detect/step_0_finetune103/weights/best.pt, 173.9MB
Validating runs/detect/step_0_finetune103/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 43325836 parameters, 0 gradients, 163.3 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.895 0.87 0.925 0.793
Speed: 0.1ms preprocess, 5.1ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_0_finetune103
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 43325836 parameters, 0 gradients, 163.3 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.897 0.863 0.922 0.787
Speed: 0.2ms preprocess, 12.4ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_0_post_val75
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.7869655326484724
After post fine-tuning validation
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
0.5179586515491672
After Pruning
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 43081939 parameters, 74176 gradients, 162.7 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.913 0.872 0.929 0.788
Speed: 0.1ms preprocess, 12.5ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_1_pre_val66
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_1_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_1_finetune62
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 2: MACs=81.5020432 G, #Params=43.105009 M, mAP=0.7879549975477981, speed up=1.0150224847369225
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_1_finetune62/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_1_finetune62
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13.3G 0.5906 0.3832 0.9224 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.903 0.868 0.925 0.797
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 13.3G 0.5313 0.3408 0.9001 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.908 0.87 0.925 0.796
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 13.2G 0.5791 0.3608 0.9246 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.902 0.871 0.927 0.799
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 13.3G 0.5612 0.3602 0.9298 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.914 0.867 0.929 0.795
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 13.2G 0.5719 0.3787 0.9132 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.906 0.875 0.93 0.792
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 13.2G 0.5878 0.3844 0.9333 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.935 0.859 0.93 0.796
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 13.3G 0.5939 0.3776 0.9134 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.928 0.86 0.928 0.799
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 13.2G 0.6093 0.3903 0.9311 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.862 0.933 0.802
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 13.3G 0.6003 0.386 0.9318 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.92 0.877 0.935 0.804
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 13.2G 0.6393 0.408 0.9322 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.911 0.888 0.937 0.806
10 epochs completed in 0.025 hours.
Optimizer stripped from runs/detect/step_1_finetune62/weights/last.pt, 173.0MB
Optimizer stripped from runs/detect/step_1_finetune62/weights/best.pt, 173.0MB
Validating runs/detect/step_1_finetune62/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 43081939 parameters, 0 gradients, 162.7 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.911 0.888 0.937 0.806
Speed: 0.1ms preprocess, 5.1ms inference, 0.0ms loss, 0.3ms postprocess per image
Results saved to runs/detect/step_1_finetune62
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 43081939 parameters, 0 gradients, 162.7 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.907 0.888 0.937 0.804
Speed: 0.1ms preprocess, 12.5ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_1_post_val48
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.804165683147925
After post fine-tuning validation
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
0.9769531739708688
After Pruning
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 42712366 parameters, 74176 gradients, 161.3 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.923 0.871 0.933 0.794
Speed: 0.2ms preprocess, 12.5ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_2_pre_val50
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_2_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_2_finetune48
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 3: MACs=80.7933916 G, #Params=42.735334 M, mAP=0.7940590327289188, speed up=1.0239254072854147
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_2_finetune48/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_2_finetune48
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13.4G 0.548 0.3528 0.9023 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.923 0.871 0.935 0.801
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 13.3G 0.4746 0.3015 0.8763 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.93 0.877 0.94 0.806
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 13.2G 0.5379 0.3445 0.9065 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.871 0.942 0.812
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 13.3G 0.5157 0.3339 0.9019 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.93 0.877 0.938 0.811
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 13.3G 0.5169 0.3404 0.8804 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.921 0.883 0.939 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 13.3G 0.5339 0.3559 0.9031 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.929 0.878 0.94 0.811
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 13.3G 0.5597 0.3561 0.8945 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.939 0.876 0.941 0.813
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 13.3G 0.5733 0.3857 0.9149 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.936 0.879 0.941 0.818
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 13.3G 0.5769 0.3717 0.9222 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.941 0.882 0.941 0.821
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 13.2G 0.6167 0.3871 0.9151 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.939 0.882 0.941 0.821
10 epochs completed in 0.024 hours.
Optimizer stripped from runs/detect/step_2_finetune48/weights/last.pt, 171.5MB
Optimizer stripped from runs/detect/step_2_finetune48/weights/best.pt, 171.5MB
Validating runs/detect/step_2_finetune48/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 42712366 parameters, 0 gradients, 161.3 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.882 0.942 0.822
Speed: 0.1ms preprocess, 4.9ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_2_finetune48
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 42712366 parameters, 0 gradients, 161.3 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.92 0.888 0.943 0.813
Speed: 0.1ms preprocess, 12.5ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_2_post_val42
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8133375576554807
After post fine-tuning validation
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
1.7924759478681729
After Pruning
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 42094706 parameters, 74176 gradients, 158.8 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.864 0.936 0.804
Speed: 0.1ms preprocess, 12.7ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_3_pre_val36
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_3_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_3_finetune36
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 63, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 4: MACs=79.5541908 G, #Params=42.117503 M, mAP=0.8043294271876973, speed up=1.0398749024796818
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_3_finetune36/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_3_finetune36
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13.9G 0.5395 0.3534 0.897 122 640: 100%|██████████| 8/8 [00:42
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.875 0.937 0.808
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 13.2G 0.4523 0.2943 0.8601 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.875 0.942 0.816
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 13.2G 0.5011 0.3242 0.885 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.879 0.94 0.816
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 13.2G 0.4896 0.3239 0.881 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.945 0.873 0.941 0.818
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 13.2G 0.4877 0.3266 0.8653 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.924 0.883 0.939 0.819
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 13.2G 0.5175 0.341 0.8913 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.879 0.943 0.824
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 13.2G 0.5484 0.3518 0.8896 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.882 0.944 0.825
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 13.2G 0.5657 0.3636 0.901 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.947 0.877 0.944 0.827
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 13.2G 0.5557 0.3553 0.908 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.888 0.945 0.827
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 13.2G 0.6072 0.381 0.9066 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.938 0.885 0.945 0.827
10 epochs completed in 0.037 hours.
Optimizer stripped from runs/detect/step_3_finetune36/weights/last.pt, 169.0MB
Optimizer stripped from runs/detect/step_3_finetune36/weights/best.pt, 169.0MB
Validating runs/detect/step_3_finetune36/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 42094706 parameters, 0 gradients, 158.8 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.947 0.877 0.944 0.827
Speed: 0.1ms preprocess, 4.8ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_3_finetune36
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 42094706 parameters, 0 gradients, 158.8 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.945 0.875 0.943 0.824
Speed: 0.2ms preprocess, 12.7ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_3_post_val34
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8242263974664863
After post fine-tuning validation
Model Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
3.1368842425083825
After Pruning
Model Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 40919781 parameters, 74176 gradients, 154.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.913 0.876 0.935 0.792
Speed: 0.2ms preprocess, 12.6ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_4_pre_val32
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_4_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_4_finetune32
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 62, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 5: MACs=77.3600192 G, #Params=40.942254 M, mAP=0.7920074671210469, speed up=1.0693690003634333
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_4_finetune32/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_4_finetune32
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13.8G 0.573 0.3665 0.9011 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.926 0.881 0.94 0.803
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 13.4G 0.4596 0.2974 0.8554 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.879 0.943 0.815
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 13.2G 0.5037 0.3324 0.8775 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.875 0.94 0.815
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 13.3G 0.4863 0.313 0.8774 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.954 0.872 0.943 0.813
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 13.2G 0.4905 0.3254 0.8586 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.87 0.939 0.812
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 13.2G 0.5016 0.3312 0.8863 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.914 0.888 0.939 0.812
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 13.2G 0.5446 0.3534 0.8808 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.937 0.874 0.942 0.818
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 13.2G 0.554 0.3697 0.8957 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.927 0.885 0.942 0.821
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 13.2G 0.5756 0.359 0.9062 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.889 0.945 0.825
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 13.2G 0.6089 0.3807 0.9001 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.884 0.945 0.826
10 epochs completed in 0.035 hours.
Optimizer stripped from runs/detect/step_4_finetune32/weights/last.pt, 164.3MB
Optimizer stripped from runs/detect/step_4_finetune32/weights/best.pt, 164.3MB
Validating runs/detect/step_4_finetune32/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 40919781 parameters, 0 gradients, 154.4 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.884 0.945 0.827
Speed: 0.1ms preprocess, 4.9ms inference, 0.0ms loss, 0.3ms postprocess per image
Results saved to runs/detect/step_4_finetune32
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 40919781 parameters, 0 gradients, 154.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.929 0.891 0.944 0.82
Speed: 0.1ms preprocess, 12.5ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_4_post_val31
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.820206153122929
After post fine-tuning validation
Model Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
5.101267981852869
After Pruning
Model Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 39455305 parameters, 74176 gradients, 149.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.916 0.864 0.929 0.789
Speed: 0.2ms preprocess, 13.0ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_5_pre_val31
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_5_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_5_finetune31
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 61, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 6: MACs=74.8418608 G, #Params=39.477376 M, mAP=0.7891253582912163, speed up=1.1053494062777232
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_5_finetune31/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_5_finetune31
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13.5G 0.5773 0.3687 0.8973 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.904 0.881 0.935 0.801
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 13G 0.4697 0.3058 0.8551 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.906 0.893 0.941 0.807
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 12.9G 0.5138 0.3263 0.8829 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.92 0.889 0.942 0.811
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 13G 0.4938 0.3293 0.8823 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.928 0.883 0.944 0.813
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 12.9G 0.5047 0.3398 0.8637 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.934 0.88 0.943 0.819
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 13G 0.5144 0.3483 0.886 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.869 0.94 0.815
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 13G 0.539 0.3521 0.879 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.943 0.865 0.941 0.814
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 13G 0.5493 0.3683 0.895 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.934 0.875 0.939 0.817
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 13G 0.581 0.3607 0.9096 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.939 0.876 0.94 0.82
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 12.9G 0.6293 0.3874 0.9156 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.938 0.886 0.946 0.822
10 epochs completed in 0.035 hours.
Optimizer stripped from runs/detect/step_5_finetune31/weights/last.pt, 158.5MB
Optimizer stripped from runs/detect/step_5_finetune31/weights/best.pt, 158.5MB
Validating runs/detect/step_5_finetune31/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 39455305 parameters, 0 gradients, 149.4 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.938 0.886 0.946 0.822
Speed: 0.1ms preprocess, 4.8ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_5_finetune31
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 39455305 parameters, 0 gradients, 149.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.928 0.891 0.943 0.82
Speed: 0.2ms preprocess, 12.9ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_5_post_val31
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8197008467567249
After post fine-tuning validation
Model Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
7.518590641324997
After Pruning
Model Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 37708749 parameters, 74176 gradients, 143.2 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.904 0.848 0.923 0.76
Speed: 0.2ms preprocess, 10.9ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_6_pre_val28
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_6_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_6_finetune28
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 60, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 7: MACs=71.732976 G, #Params=37.730325 M, mAP=0.7604747253578685, speed up=1.1532549046898597
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_6_finetune28/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_6_finetune28
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13.3G 0.6267 0.3973 0.9214 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.909 0.859 0.932 0.782
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 12.8G 0.5114 0.3263 0.8662 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.874 0.939 0.803
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 12.7G 0.5466 0.3434 0.8876 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.931 0.875 0.939 0.808
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 12.7G 0.5238 0.3378 0.8878 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.939 0.874 0.939 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 12.7G 0.5198 0.3522 0.8708 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.947 0.87 0.94 0.808
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 12.8G 0.5276 0.352 0.8876 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.933 0.879 0.939 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 12.8G 0.5516 0.3594 0.8792 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.931 0.882 0.943 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 12.8G 0.5795 0.3736 0.9109 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.933 0.893 0.949 0.817
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 12.8G 0.597 0.3801 0.9136 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.89 0.948 0.815
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 12.7G 0.6406 0.3889 0.9059 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.928 0.899 0.948 0.816
10 epochs completed in 0.034 hours.
Optimizer stripped from runs/detect/step_6_finetune28/weights/last.pt, 151.5MB
Optimizer stripped from runs/detect/step_6_finetune28/weights/best.pt, 151.5MB
Validating runs/detect/step_6_finetune28/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 37708749 parameters, 0 gradients, 143.2 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.933 0.889 0.948 0.817
Speed: 0.1ms preprocess, 4.8ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_6_finetune28
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 37708749 parameters, 0 gradients, 143.2 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.937 0.878 0.946 0.808
Speed: 0.1ms preprocess, 10.8ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_6_post_val27
After fine tuning mAP=0.8082043641470185
After post fine-tuning validation
Model Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
9.935913300797125
After Pruning
Model Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 35995675 parameters, 74176 gradients, 136.7 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.838 0.847 0.905 0.744
Speed: 0.2ms preprocess, 12.1ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_7_pre_val25
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_7_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_7_finetune25
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 59, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 8: MACs=68.4860368 G, #Params=36.016747 M, mAP=0.7439133908787243, speed up=1.207930992438447
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_7_finetune25/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_7_finetune25
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 13G 0.6576 0.4219 0.9433 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.884 0.852 0.921 0.764
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 13.2G 0.5285 0.3538 0.8714 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.921 0.864 0.937 0.782
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 12.4G 0.5672 0.3781 0.8972 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.921 0.87 0.94 0.791
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 12.4G 0.5324 0.3593 0.8898 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.921 0.869 0.937 0.796
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 12.1G 0.5564 0.395 0.8841 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.926 0.888 0.941 0.799
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 12.3G 0.5555 0.3674 0.9059 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.92 0.891 0.942 0.797
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 12.3G 0.5972 0.3946 0.9014 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.909 0.897 0.942 0.797
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 12.3G 0.6033 0.4048 0.9106 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.919 0.892 0.943 0.805
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 12.3G 0.6098 0.3878 0.9253 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.933 0.884 0.944 0.808
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 12.3G 0.6518 0.4124 0.9181 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.934 0.887 0.945 0.811
10 epochs completed in 0.036 hours.
Optimizer stripped from runs/detect/step_7_finetune25/weights/last.pt, 144.6MB
Optimizer stripped from runs/detect/step_7_finetune25/weights/best.pt, 144.6MB
Validating runs/detect/step_7_finetune25/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 35995675 parameters, 0 gradients, 136.7 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.934 0.887 0.945 0.81
Speed: 0.1ms preprocess, 4.8ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_7_finetune25
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 35995675 parameters, 0 gradients, 136.7 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.934 0.877 0.942 0.805
Speed: 0.1ms preprocess, 12.0ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_7_post_val25
After fine tuning mAP=0.8047311680941978
After post fine-tuning validation
Model Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
11.900297040141613
After Pruning
Model Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 34583399 parameters, 74176 gradients, 131.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.861 0.846 0.915 0.747
Speed: 0.2ms preprocess, 12.0ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_8_pre_val24
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_8_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_8_finetune24
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 57, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 9: MACs=65.8289424 G, #Params=34.604045 M, mAP=0.746892685800743, speed up=1.2566874597092115
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_8_finetune24/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_8_finetune24
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 12.7G 0.6527 0.4186 0.9399 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.878 0.86 0.925 0.769
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 12.9G 0.5123 0.3376 0.8642 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.902 0.884 0.932 0.78
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 12.2G 0.5575 0.3672 0.8903 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.918 0.887 0.935 0.784
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 12.2G 0.5313 0.3422 0.8975 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.913 0.897 0.936 0.795
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 12.2G 0.543 0.3699 0.874 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.922 0.891 0.939 0.795
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 12.2G 0.5544 0.3693 0.9 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.936 0.885 0.938 0.798
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 12.2G 0.5915 0.3854 0.8924 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.883 0.939 0.801
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 12G 0.6192 0.4081 0.9123 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.882 0.94 0.803
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 12.2G 0.6259 0.4123 0.9284 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.947 0.88 0.941 0.806
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 12.1G 0.6654 0.4213 0.9262 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.886 0.94 0.808
10 epochs completed in 0.037 hours.
Optimizer stripped from runs/detect/step_8_finetune24/weights/last.pt, 139.0MB
Optimizer stripped from runs/detect/step_8_finetune24/weights/best.pt, 139.0MB
Validating runs/detect/step_8_finetune24/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 34583399 parameters, 0 gradients, 131.4 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.948 0.882 0.94 0.808
Speed: 0.1ms preprocess, 4.1ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_8_finetune24
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 34583399 parameters, 0 gradients, 131.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.939 0.885 0.94 0.804
Speed: 0.1ms preprocess, 12.5ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_8_post_val24
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8042272329558376
After post fine-tuning validation
Model Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
13.24470533478182
After Pruning
Model Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 33747610 parameters, 74176 gradients, 128.5 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.919 0.872 0.923 0.774
Speed: 0.2ms preprocess, 13.1ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_9_pre_val23
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_9_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_9_finetune23
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 56, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 10: MACs=64.3900056 G, #Params=33.768007 M, mAP=0.77353892505729, speed up=1.2847709148203583
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_9_finetune23/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_9_finetune23
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 12.6G 0.6022 0.3899 0.9207 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.921 0.881 0.93 0.784
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 12.1G 0.4755 0.3118 0.851 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.941 0.883 0.933 0.794
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 12G 0.5226 0.3441 0.8847 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.936 0.884 0.936 0.795
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 11.8G 0.5197 0.3324 0.8815 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.935 0.883 0.933 0.792
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 12G 0.5239 0.353 0.8671 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.936 0.882 0.934 0.792
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 12G 0.5413 0.3589 0.8919 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.93 0.877 0.934 0.802
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 12.1G 0.5753 0.3723 0.8863 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.873 0.933 0.802
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 12.1G 0.6104 0.3991 0.9113 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.95 0.868 0.931 0.8
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 12.1G 0.6059 0.395 0.9182 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.943 0.873 0.932 0.805
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 12G 0.6558 0.4098 0.9218 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.945 0.871 0.933 0.805
10 epochs completed in 0.033 hours.
Optimizer stripped from runs/detect/step_9_finetune23/weights/last.pt, 135.6MB
Optimizer stripped from runs/detect/step_9_finetune23/weights/best.pt, 135.6MB
Validating runs/detect/step_9_finetune23/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 33747610 parameters, 0 gradients, 128.5 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.945 0.871 0.933 0.806
Speed: 0.1ms preprocess, 4.4ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_9_finetune23
After fine-tuning
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 33747610 parameters, 0 gradients, 128.5 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.943 0.875 0.932 0.804
Speed: 0.2ms preprocess, 14.0ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_9_post_val23
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8042200149576527
After post fine-tuning validation
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
14.060228108679125
After Pruning
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 33209910 parameters, 74176 gradients, 126.7 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.933 0.855 0.928 0.782
Speed: 0.2ms preprocess, 13.6ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_10_pre_val17
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_10_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_10_finetune17
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 11: MACs=63.4942128 G, #Params=33.230145 M, mAP=0.7824563352367453, speed up=1.302896795658832
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_10_finetune17/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_10_finetune17
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 12.3G 0.5909 0.3739 0.911 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.938 0.863 0.931 0.795
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 11.9G 0.4459 0.2951 0.8389 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.87 0.932 0.802
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 11.8G 0.5232 0.3395 0.8787 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.946 0.875 0.935 0.802
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 11.8G 0.4976 0.3318 0.877 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.945 0.878 0.934 0.795
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 11.8G 0.5079 0.3425 0.8612 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.946 0.875 0.934 0.798
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 11.8G 0.5287 0.3422 0.8902 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.951 0.875 0.937 0.804
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 11.9G 0.5654 0.3632 0.8837 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.951 0.879 0.938 0.803
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 11.9G 0.5918 0.3874 0.9027 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.948 0.878 0.937 0.802
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 11.9G 0.6008 0.3761 0.914 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.953 0.876 0.939 0.807
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 11.8G 0.6525 0.4039 0.9107 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.951 0.876 0.939 0.806
10 epochs completed in 0.032 hours.
Optimizer stripped from runs/detect/step_10_finetune17/weights/last.pt, 133.4MB
Optimizer stripped from runs/detect/step_10_finetune17/weights/best.pt, 133.4MB
Validating runs/detect/step_10_finetune17/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 33209910 parameters, 0 gradients, 126.7 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.952 0.876 0.937 0.807
Speed: 0.1ms preprocess, 4.3ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_10_finetune17
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 33209910 parameters, 0 gradients, 126.7 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.949 0.873 0.938 0.803
Speed: 0.2ms preprocess, 14.4ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_10_post_val17
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8030008974391184
After post fine-tuning validation
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
14.519222631100824
After Pruning
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32703049 parameters, 74176 gradients, 124.6 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.926 0.871 0.929 0.785
Speed: 0.1ms preprocess, 15.1ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_11_pre_val15
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_11_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_11_finetune15
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 55, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 12: MACs=62.4345712 G, #Params=32.723122 M, mAP=0.7849986248769537, speed up=1.3250096030130178
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_11_finetune15/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_11_finetune15
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 12.4G 0.592 0.3808 0.9108 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.912 0.894 0.937 0.794
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 12.5G 0.4274 0.2822 0.8394 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.936 0.88 0.94 0.808
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 11.6G 0.4962 0.3279 0.8649 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.934 0.885 0.942 0.807
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 11.6G 0.4768 0.3227 0.8737 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.946 0.877 0.938 0.807
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 11.5G 0.4901 0.3294 0.8562 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.884 0.939 0.804
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 11.5G 0.5087 0.3373 0.8861 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.883 0.939 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 11.5G 0.5481 0.3556 0.8798 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.919 0.89 0.936 0.804
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 11.6G 0.5694 0.3718 0.8979 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.937 0.888 0.938 0.804
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 11.6G 0.5756 0.3754 0.9038 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.886 0.939 0.806
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 11.5G 0.6536 0.3981 0.9224 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.95 0.883 0.939 0.809
10 epochs completed in 0.030 hours.
Optimizer stripped from runs/detect/step_11_finetune15/weights/last.pt, 131.4MB
Optimizer stripped from runs/detect/step_11_finetune15/weights/best.pt, 131.4MB
Validating runs/detect/step_11_finetune15/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 32703049 parameters, 0 gradients, 124.6 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.883 0.939 0.809
Speed: 0.1ms preprocess, 4.4ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_11_finetune15
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32703049 parameters, 0 gradients, 124.6 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.885 0.938 0.803
Speed: 0.2ms preprocess, 15.9ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_11_post_val14
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8028105881367777
After post fine-tuning validation
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
14.766719382862217
After Pruning
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32669140 parameters, 74176 gradients, 124.6 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.945 0.883 0.942 0.806
Speed: 0.1ms preprocess, 15.9ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_12_pre_val14
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_12_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_12_finetune13
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 13: MACs=62.4070664 G, #Params=32.689204 M, mAP=0.8058915915724488, speed up=1.325593577332454
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_12_finetune13/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_12_finetune13
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 12.7G 0.499 0.3319 0.8801 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.933 0.887 0.937 0.809
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 11.6G 0.3689 0.2572 0.8209 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.932 0.886 0.938 0.812
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 11.6G 0.4539 0.302 0.8599 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.949 0.876 0.938 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 11.6G 0.4334 0.2969 0.8595 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.94 0.893 0.941 0.808
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 11.6G 0.4529 0.3123 0.8466 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.894 0.941 0.807
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 11.6G 0.4631 0.3128 0.8697 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.95 0.887 0.943 0.809
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 11.6G 0.5213 0.3408 0.8692 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.941 0.891 0.939 0.811
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 11.7G 0.539 0.3604 0.8853 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.939 0.892 0.94 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 11.7G 0.5515 0.358 0.8976 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.929 0.897 0.94 0.813
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 11.6G 0.6402 0.3891 0.9106 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.941 0.897 0.943 0.816
10 epochs completed in 0.029 hours.
Optimizer stripped from runs/detect/step_12_finetune13/weights/last.pt, 131.3MB
Optimizer stripped from runs/detect/step_12_finetune13/weights/best.pt, 131.3MB
Validating runs/detect/step_12_finetune13/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 32669140 parameters, 0 gradients, 124.6 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.942 0.897 0.944 0.816
Speed: 0.1ms preprocess, 4.2ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_12_finetune13
After fine-tuning
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 32669140 parameters, 0 gradients, 124.6 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.937 0.892 0.941 0.811
Speed: 0.2ms preprocess, 16.7ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_12_post_val13
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8111457220640336
After post fine-tuning validation
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
14.89709551315643
After Pruning
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32416863 parameters, 74176 gradients, 123.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.939 0.886 0.94 0.805
Speed: 0.2ms preprocess, 16.6ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_13_pre_val13
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_13_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_13_finetune13
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
After post-pruning Validation
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 14: MACs=61.8488912 G, #Params=32.436843 M, mAP=0.8050285863373501, speed up=1.3375568226839933
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_13_finetune13/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_13_finetune13
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 12.1G 0.5096 0.332 0.8815 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.935 0.891 0.943 0.812
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 11.6G 0.3826 0.2558 0.8262 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.956 0.88 0.949 0.813
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 11.4G 0.4512 0.3126 0.8555 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.948 0.883 0.945 0.814
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 11.5G 0.4423 0.299 0.8562 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.95 0.882 0.944 0.811
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 11.5G 0.4557 0.3122 0.8492 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.935 0.896 0.945 0.804
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 11.5G 0.4734 0.3233 0.8728 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.93 0.892 0.941 0.805
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 11.5G 0.5367 0.352 0.8796 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.934 0.886 0.942 0.804
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 11.5G 0.5403 0.3508 0.8848 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.941 0.886 0.943 0.81
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 11.5G 0.5416 0.3534 0.889 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.893 0.947 0.814
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 11.5G 0.6465 0.4027 0.9187 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.945 0.891 0.947 0.818
10 epochs completed in 0.030 hours.
Optimizer stripped from runs/detect/step_13_finetune13/weights/last.pt, 130.3MB
Optimizer stripped from runs/detect/step_13_finetune13/weights/best.pt, 130.3MB
Validating runs/detect/step_13_finetune13/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 32416863 parameters, 0 gradients, 123.4 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.891 0.947 0.819
Speed: 0.1ms preprocess, 4.2ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_13_finetune13
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32416863 parameters, 0 gradients, 123.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.951 0.887 0.946 0.815
Speed: 0.2ms preprocess, 17.3ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_13_post_val13
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine tuning mAP=0.8146198835662797
After post fine-tuning validation
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
14.96493134246744
After Pruning
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32416863 parameters, 74176 gradients, 123.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.951 0.886 0.945 0.815
Speed: 0.2ms preprocess, 17.4ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_14_pre_val13
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
yolo/engine/trainer: task=detect, mode=train, model=None, data=coco128.yaml, epochs=10, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=step_14_finetune, exist_ok=False, pretrained=True, optimizer=auto, verbose=False, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=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, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/step_14_finetune13
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
After post-pruning Validation
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
After pruning iter 15: MACs=61.8488912 G, #Params=32.436843 M, mAP=0.8153698637584581, speed up=1.3375568226839933
AMP: checks passed ✅
train: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgr
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Plotting labels to runs/detect/step_14_finetune13/labels.jpg...
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 105 weight(decay=0.0), 112 weight(decay=0.0005), 111 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 8 dataloader workers
Logging results to runs/detect/step_14_finetune13
Starting training for 10 epochs...
Closing dataloader mosaic
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/10 11.4G 0.4922 0.3236 0.8733 122 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.955 0.882 0.946 0.822
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/10 11.4G 0.3523 0.2478 0.8197 112 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.953 0.89 0.943 0.817
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/10 11.4G 0.4283 0.2858 0.8487 116 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.95 0.89 0.941 0.82
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/10 11.4G 0.408 0.2829 0.8446 68 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.953 0.886 0.945 0.819
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/10 11.4G 0.4299 0.2959 0.8395 96 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.943 0.902 0.944 0.823
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/10 11.4G 0.4327 0.3007 0.8581 120 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.946 0.889 0.943 0.82
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/10 11.4G 0.4762 0.3178 0.8584 69 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.944 0.892 0.945 0.814
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/10 11.4G 0.5052 0.3337 0.8724 141 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.946 0.893 0.944 0.819
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/10 11.4G 0.5167 0.3323 0.8776 104 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.943 0.898 0.944 0.819
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/10 11.4G 0.5994 0.3758 0.8965 170 640: 100%|██████████| 8/8 [00:02
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.952 0.893 0.946 0.822
10 epochs completed in 0.017 hours.
Optimizer stripped from runs/detect/step_14_finetune13/weights/last.pt, 130.3MB
Optimizer stripped from runs/detect/step_14_finetune13/weights/best.pt, 130.3MB
Validating runs/detect/step_14_finetune13/weights/best.pt...
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
YOLOv8l summary (fused): 285 layers, 32416863 parameters, 0 gradients, 123.4 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.943 0.902 0.944 0.823
Speed: 0.1ms preprocess, 4.2ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/step_14_finetune13
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24253MiB)
After fine-tuning
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32416863 parameters, 0 gradients, 123.4 GFLOPs
val: Scanning /home/HubensN/fasterai/nbs/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrou
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████|
all 128 929 0.947 0.899 0.943 0.819
Speed: 0.2ms preprocess, 17.2ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to runs/detect/step_14_post_val13
Ultralytics YOLOv8.0.132 🚀 Python-3.9.0 torch-2.2.1 CPU
After fine tuning mAP=0.8192818206570706
After post fine-tuning validation
Model Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
Pruner Conv2d(3, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
YOLOv8l summary (fused): 285 layers, 32416863 parameters, 0 gradients, 123.4 GFLOPs
PyTorch: starting from runs/detect/step_14_finetune13/weights/best.pt with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 84, 8400) (124.2 MB)
ONNX: starting export with onnx 1.16.0 opset 17...
ONNX: export success ✅ 2.6s, saved as runs/detect/step_14_finetune13/weights/best.onnx (123.9 MB)
Export complete (3.5s)
Results saved to /home/HubensN/fasterai/nbs/runs/detect/step_14_finetune13/weights
Predict: yolo predict task=detect model=runs/detect/step_14_finetune13/weights/best.onnx imgsz=640
Validate: yolo val task=detect model=runs/detect/step_14_finetune13/weights/best.onnx imgsz=640 data=/home/HubensN/miniconda3/envs/fasterai/lib/python3.9/site-packages/ultralytics/datasets/coco128.yaml
Visualize: https://netron.app