Compare commits

...

5 Commits

Author SHA1 Message Date
bionickatana 9b95523a7c new dataset 2026-07-17 11:19:02 -06:00
bionickatana 427205b264 Added training data 2026-07-16 22:08:25 -06:00
bionickatana dfad06d7fe added more training data 2026-07-16 22:05:41 -06:00
bionickatana 73ec449626 Updated to ignore video files 2026-07-16 09:19:54 -06:00
bionickatana ab47329713 Updated mangling for model 2026-07-15 23:00:18 -06:00
308 changed files with 1736 additions and 116 deletions
-1
View File
@@ -1,2 +1 @@
dataset/** filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
+2
View File
@@ -0,0 +1,2 @@
*.mp4
*.cache
+60 -110
View File
@@ -106,7 +106,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 8,
"id": "a3e69197-7565-4464-8381-ffc871818819",
"metadata": {},
"outputs": [
@@ -118,7 +118,7 @@
"-> Initializing YOLO training...\n",
"New https://pypi.org/project/ultralytics/8.4.96 available 😃 Update with 'pip install -U ultralytics'\n",
"Ultralytics 8.4.92 🚀 Python-3.10.12 torch-2.5.1+cu124 CUDA:0 (NVIDIA GeForce GTX 1050 Ti, 4030MiB)\n",
"\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=False, angle=1.0, augment=False, auto_augment=randaugment, batch=4, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, cls_pw=0.0, cls_remap=True, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=dataset.yaml, degrees=0.0, deterministic=True, device=, dfl=1.5, dis=6.0, distill_model=None, dnn=False, dropout=0.0, dynamic=False, embed=None, end2end=None, epochs=50, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.01, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8n.pt, momentum=0.937, mosaic=1.0, multi_scale=0.0, name=train-22, nbs=64, nms=False, opset=None, optimize=False, optimizer=auto, overlap_mask=True, patience=5, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=None, quantize=None, rect=False, resume=False, retina_masks=False, rle=1.0, save=True, save_conf=False, save_crop=False, save_dir=/home/nathan/HadesStarYOLO/runs/detect/train-22, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=tracktrack.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n",
"\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=False, angle=1.0, augment=False, auto_augment=randaugment, batch=4, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, cls_pw=0.0, cls_remap=True, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=dataset.yaml, degrees=0.0, deterministic=True, device=, dfl=1.5, dis=6.0, distill_model=None, dnn=False, dropout=0.0, dynamic=False, embed=None, end2end=None, epochs=50, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.01, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8n.pt, momentum=0.937, mosaic=1.0, multi_scale=0.0, name=train-23, nbs=64, nms=False, opset=None, optimize=False, optimizer=auto, overlap_mask=True, patience=5, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=None, quantize=None, rect=False, resume=False, retina_masks=False, rle=1.0, save=True, save_conf=False, save_crop=False, save_dir=/home/nathan/HadesStarYOLO/runs/detect/train-23, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=tracktrack.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n",
"Overriding model.yaml nc=80 with nc=5\n",
"\n",
" from n params module arguments \n",
@@ -149,115 +149,36 @@
"\n",
"Transferred 319/355 items from pretrained weights\n",
"Freezing layer 'model.22.dfl.conv.weight'\n",
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 1663.3±1491.0 MB/s, size: 29.1 KB)\n",
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/nathan/HadesStarYOLO/dataset_v5/labels.cache... 165 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 165/165 57.7Mit/s 0.0s\n",
"\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 1137.3±892.6 MB/s, size: 122.5 KB)\n",
"\u001b[K\u001b[34m\u001b[1mval: \u001b[0mScanning /home/nathan/HadesStarYOLO/dataset_v5/labels.cache... 165 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 165/165 6.4Mit/s 0.0s\n",
"\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 2103.6±2034.2 MB/s, size: 51.9 KB)\n",
"\u001b[K\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/nathan/HadesStarYOLO/dataset_v5/labels.cache... 165 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 165/165 53.2Mit/s 0.0s\n",
"\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 930.4±461.8 MB/s, size: 102.7 KB)\n",
"\u001b[K\u001b[34m\u001b[1mval: \u001b[0mScanning /home/nathan/HadesStarYOLO/dataset_v5/labels.cache... 165 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 165/165 8.0Mit/s 0.0s\n",
"\u001b[34m\u001b[1moptimizer:\u001b[0m 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically... \n",
"\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.001111, momentum=0.9) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0005), 63 bias(decay=0.0)\n",
"Plotting labels to /home/nathan/HadesStarYOLO/runs/detect/train-22/labels.jpg... \n",
"Plotting labels to /home/nathan/HadesStarYOLO/runs/detect/train-23/labels.jpg... \n",
"Image sizes 640 train, 640 val\n",
"Using 8 dataloader workers\n",
"Logging results to \u001b[1m/home/nathan/HadesStarYOLO/runs/detect/train-22\u001b[0m\n",
"Logging results to \u001b[1m/home/nathan/HadesStarYOLO/runs/detect/train-23\u001b[0m\n",
"Starting training for 50 epochs...\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 1/50 1.08G 2.321 4.195 1.342 23 640: 100% ━━━━━━━━━━━━ 42/42 3.0it/s 13.9s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.5it/s 2.8s0.1s\n",
" all 165 1385 0.00152 0.0802 0.00995 0.00372\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 2/50 1.5G 2.381 3.269 1.243 22 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.4it/s 2.8s0.1s\n",
" all 165 1385 0.193 0.0698 0.0897 0.0345\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 3/50 1.5G 2.294 2.919 1.206 11 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.1it/s 3.0s0.1s\n",
" all 165 1385 0.145 0.265 0.122 0.0526\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 4/50 1.5G 2.236 2.837 1.239 5 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.1it/s 2.9s0.1s\n",
" all 165 1385 0.236 0.265 0.179 0.0837\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 5/50 1.5G 2.097 2.685 1.182 42 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.2s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.2it/s 2.9s0.1s\n",
" all 165 1385 0.258 0.314 0.196 0.0898\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 6/50 1.5G 2.172 2.574 1.236 13 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.3it/s 2.9s0.1s\n",
" all 165 1385 0.183 0.287 0.155 0.0649\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 7/50 1.5G 2.086 2.504 1.192 14 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.2it/s 2.9s0.1s\n",
" all 165 1385 0.273 0.293 0.224 0.106\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 8/50 1.5G 2.058 2.468 1.152 17 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.3it/s 2.9s0.1s\n",
" all 165 1385 0.319 0.312 0.253 0.118\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 9/50 1.5G 2.044 2.458 1.174 6 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.2s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.1it/s 3.0s0.1s\n",
" all 165 1385 0.35 0.385 0.301 0.151\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 10/50 1.5G 2.025 2.307 1.142 49 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.2s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.2it/s 2.9s0.1s\n",
" all 165 1385 0.339 0.384 0.334 0.158\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 11/50 1.5G 2.001 2.215 1.146 5 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.1it/s 3.0s0.1s\n",
" all 165 1385 0.363 0.379 0.352 0.171\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 12/50 1.56G 1.995 2.167 1.124 17 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.3it/s 2.9s0.1s\n",
" all 165 1385 0.414 0.453 0.395 0.195\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 13/50 1.56G 1.971 2.122 1.129 14 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.1it/s 3.0s0.1s\n",
" all 165 1385 0.417 0.439 0.429 0.216\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 14/50 1.56G 1.946 2.055 1.146 4 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.2it/s 2.9s0.1s\n",
" all 165 1385 0.47 0.479 0.473 0.236\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 15/50 1.56G 1.917 2.042 1.126 69 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.3it/s 2.9s0.1s\n",
" all 165 1385 0.492 0.473 0.476 0.228\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 16/50 1.56G 1.961 2.012 1.112 14 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.1it/s 3.0s0.1s\n",
" all 165 1385 0.477 0.485 0.499 0.254\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 17/50 1.56G 1.886 1.972 1.086 13 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.1it/s 2.9s0.1s\n",
" all 165 1385 0.459 0.506 0.475 0.241\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 18/50 1.56G 1.862 1.877 1.096 9 640: 100% ━━━━━━━━━━━━ 42/42 3.1it/s 13.4s0.2s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.0it/s 3.0s0.1s\n",
" all 165 1385 0.54 0.546 0.566 0.291\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 19/50 1.56G 1.835 1.865 1.112 21 640: 100% ━━━━━━━━━━━━ 42/42 3.2it/s 13.3s0.6s\n",
"\u001b[K Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 21/21 7.2it/s 2.9s0.1s\n",
" all 165 1385 0.58 0.584 0.602 0.308\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
"\u001b[K 20/50 1.56G 1.864 1.849 1.139 61 640: 92% ━━━━━━━━━━━─ 39/42 3.1it/s 13.0s<1.0s"
"\u001b[K 1/50 1.02G 2.342 4.545 1.479 58 640: 9% ━─────────── 4/42 2.7it/s 1.6s<13.9s\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[8], line 7\u001b[0m\n\u001b[1;32m 4\u001b[0m model \u001b[38;5;241m=\u001b[39m YOLO(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myolov8n.pt\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# Train the model on your 130 annotations\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43myaml_path\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m \u001b[49m\u001b[43mepochs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m50\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[43mimgsz\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m640\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[43m \u001b[49m\u001b[43mbatch\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m4\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 12\u001b[0m \u001b[43m \u001b[49m\u001b[43mpatience\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m5\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[43m \u001b[49m\u001b[43mamp\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mis_1050\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# Conditionaly enable this when not on a potato GPU\u001b[39;49;00m\n\u001b[1;32m 14\u001b[0m \u001b[43m \u001b[49m\u001b[43mverbose\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m-> Training complete!\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
"File \u001b[0;32m~/HadesStarYOLO/venv/lib/python3.10/site-packages/ultralytics/engine/model.py:814\u001b[0m, in \u001b[0;36mModel.train\u001b[0;34m(self, trainer, **kwargs)\u001b[0m\n\u001b[1;32m 811\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mget_model(weights\u001b[38;5;241m=\u001b[39mweights, cfg\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel\u001b[38;5;241m.\u001b[39myaml)\n\u001b[1;32m 812\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mmodel\n\u001b[0;32m--> 814\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrainer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 815\u001b[0m \u001b[38;5;66;03m# Update model and cfg after training\u001b[39;00m\n\u001b[1;32m 816\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m RANK \u001b[38;5;129;01min\u001b[39;00m {\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m0\u001b[39m}:\n",
"File \u001b[0;32m~/HadesStarYOLO/venv/lib/python3.10/site-packages/ultralytics/engine/trainer.py:241\u001b[0m, in \u001b[0;36mBaseTrainer.train\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 238\u001b[0m ddp_cleanup(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;28mstr\u001b[39m(file))\n\u001b[1;32m 240\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 241\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_do_train\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/HadesStarYOLO/venv/lib/python3.10/site-packages/ultralytics/engine/trainer.py:496\u001b[0m, in \u001b[0;36mBaseTrainer._do_train\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m \u001b[38;5;66;03m# restart epoch loop with reduced batch size\u001b[39;00m\n\u001b[1;32m 495\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ni \u001b[38;5;241m-\u001b[39m last_opt_step \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maccumulate:\n\u001b[0;32m--> 496\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptimizer_step\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 497\u001b[0m last_opt_step \u001b[38;5;241m=\u001b[39m ni\n\u001b[1;32m 499\u001b[0m \u001b[38;5;66;03m# Timed stopping\u001b[39;00m\n",
"File \u001b[0;32m~/HadesStarYOLO/venv/lib/python3.10/site-packages/ultralytics/engine/trainer.py:793\u001b[0m, in \u001b[0;36mBaseTrainer.optimizer_step\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 791\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptimizer\u001b[38;5;241m.\u001b[39mzero_grad()\n\u001b[1;32m 792\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mema:\n\u001b[0;32m--> 793\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mema\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mupdate\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/HadesStarYOLO/venv/lib/python3.10/site-packages/ultralytics/utils/torch_utils.py:-1\u001b[0m, in \u001b[0;36mModelEMA.update\u001b[0;34m(self, model)\u001b[0m\n\u001b[1;32m 0\u001b[0m <Error retrieving source code with stack_data see ipython/ipython#13598>\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
@@ -275,7 +196,16 @@
" batch=4,\n",
" patience=5,\n",
" amp=not is_1050, # Conditionaly enable this when not on a potato GPU\n",
" verbose=True)\n",
" verbose=True,\n",
" \n",
" # --- MANGLE ROTATION ---\n",
" degrees=20.0, # Random rotation between -180 and +180 degrees (full rotation)\n",
" flipud=0.2, # 50% chance of vertical flip\n",
" fliplr=0.2, # 50% chance of horizontal flip\n",
" \n",
" # --- MANGLE SIZE & DISTORTION ---\n",
" scale=0.1, # Randomly scale images between 10% and 190% of their size\n",
")\n",
"print(\"\\n-> Training complete!\")"
]
},
@@ -297,7 +227,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 5,
"id": "138e1424-8ecd-4b76-a487-345bcb3b69f1",
"metadata": {},
"outputs": [],
@@ -307,10 +237,20 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 6,
"id": "693c7e66-9c2f-427f-b2a0-311c4e5e8a38",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"-> Running full-frame inference test...\n",
"Error: Could not open video Screen_Recording_20260710_142109_Hades' Star.mp4\n"
]
}
],
"source": [
"# === STEP 3: EXTRACT A RANDOM FRAME AND TEST DETECTION ===\n",
"print(\"\\n-> Running full-frame inference test...\")\n",
@@ -356,10 +296,20 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 7,
"id": "2fd1b368-0363-4a7e-8035-566adbd8db19",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"-> Processing video and compiling to file...\n",
"Error: Could not open source video Screen_Recording_20260710_142109_Hades' Star.mp4\n"
]
}
],
"source": [
"import cv2\n",
"import random\n",
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More