F:\Anaconda\anaconda\envs\yolov8_pytorch\python.exe F:\Anaconda\anaconda\envs\yolov8_pytorch\训练脚本.py
WARNING no model scale passed. Assuming scale='n'.
Transferred 42/361 items from pretrained weights
Ultralytics 8.3.143 Python-3.9.21 torch-2.7.0+cu126 CUDA:0 (NVIDIA GeForce RTX 4060 Laptop GPU, 8188MiB)
engine\trainer: agnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=16, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=F:\Anaconda\anaconda\envs\yolov8_pytorch\fire_model.yaml, degrees=0.0, deterministic=True, device=0, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=200, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, 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=F:\Anaconda\anaconda\envs\yolov8_pytorch\yolov8_CBAM.yaml, momentum=0.937, mosaic=1.0, multi_scale=False, name=yolov8_cbam_+RepulsionLoss5, nbs=64, nms=False, opset=None, optimize=False, optimizer=auto, overlap_mask=True, patience=100, perspective=0.0, plots=True, pose=12.0, pretrained=F:\Anaconda\anaconda\envs\yolov8_pytorch\\yolov8n.pt, profile=False, project=None, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=runs\detect\yolov8_cbam_+RepulsionLoss5, 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=botsort.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=4, workspace=None
WARNING no model scale passed. Assuming scale='n'.
from n params module arguments
0 -1 1 464 ultralytics.nn.modules.conv.Conv [3, 16, 3, 2]
1 -1 1 4672 ultralytics.nn.modules.conv.Conv [16, 32, 3, 2]
2 -1 1 7360 ultralytics.nn.modules.block.C2f [32, 32, 1, True]
3 -1 1 261 ultralytics.nn.modules.cbam.CBAM [32, 32]
4 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]
5 -1 2 49664 ultralytics.nn.modules.block.C2f [64, 64, 2, True]
6 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]
7 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True]
8 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]
9 -1 1 460288 ultralytics.nn.modules.block.C2f [256, 256, 1, True]
10 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5]
11 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
12 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]
13 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1]
14 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
15 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]
16 -1 1 37248 ultralytics.nn.modules.block.C2f [192, 64, 1]
17 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2]
18 [-1, 13] 1 0 ultralytics.nn.modules.conv.Concat [1]
19 -1 1 123648 ultralytics.nn.modules.block.C2f [192, 128, 1]
20 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]
21 [-1, 10] 1 0 ultralytics.nn.modules.conv.Concat [1]
22 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1]
23 [16, 19, 22] 1 751702 ultralytics.nn.modules.head.Detect [2, [64, 128, 256]]
YOLOv8_CBAM summary: 137 layers, 3,011,499 parameters, 3,011,483 gradients, 8.2 GFLOPs
Transferred 361/361 items from pretrained weights
Freezing layer 'model.23.dfl.conv.weight'
AMP: running Automatic Mixed Precision (AMP) checks...
AMP: checks passed
train: Fast image access (ping: 0.00.0 ms, read: 531.4141.0 MB/s, size: 44.3 KB)
train: Scanning F:\Anaconda\anaconda\envs\yolov8_pytorch\xunlian3\labels\train.cache... 8310 images, 1 backgrounds, 0 corrupt: 100%|██████████| 8311/8311 [00:00<?, ?it/s]
WARNING Box and segment counts should be equal, but got len(segments) = 12, len(boxes) = 16548. To resolve this only boxes will be used and all segments will be removed. To avoid this please supply either a detect or segment dataset, not a detect-segment mixed dataset.
val: Fast image access (ping: 0.00.0 ms, read: 382.4127.6 MB/s, size: 45.9 KB)
val: Scanning F:\Anaconda\anaconda\envs\yolov8_pytorch\xunlian3\labels\val.cache... 1057 images, 0 backgrounds, 0 corrupt: 100%|██████████| 1057/1057 [00:00<?, ?it/s]
Plotting labels to runs\detect\yolov8_cbam_+RepulsionLoss5\labels.jpg...
optimizer: 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically...
optimizer: SGD(lr=0.01, momentum=0.9) with parameter groups 57 weight(decay=0.0), 67 weight(decay=0.0005), 66 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 4 dataloader workers
Logging results to runs\detect\yolov8_cbam_+RepulsionLoss5
Starting training for 200 epochs...
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
⚠️ 使用默认超参数值
0%| | 0/520 [00:00<?, ?it/s]
Traceback (most recent call last):
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\训练脚本.py", line 9, in <module>
model.train(
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\ultralytics\engine\model.py", line 796, in train
self.trainer.train()
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\ultralytics\engine\trainer.py", line 211, in train
self._do_train(world_size)
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\ultralytics\engine\trainer.py", line 390, in _do_train
loss, self.loss_items = self.model(batch)
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\torch\nn\modules\module.py", line 1751, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\torch\nn\modules\module.py", line 1762, in _call_impl
return forward_call(*args, **kwargs)
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\ultralytics\nn\tasks.py", line 116, in forward
return self.loss(x, *args, **kwargs)
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\ultralytics\nn\tasks.py", line 313, in loss
self.criterion = self.init_criterion()
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\ultralytics\nn\tasks.py", line 448, in init_criterion
return E2EDetectLoss(self) if getattr(self, "end2end", False) else v8DetectionLoss(self)
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\ultralytics\utils\loss.py", line 203, in __init__
self.assigner = model.model[-1].assigner or TaskAlignedAssigner(
File "F:\Anaconda\anaconda\envs\yolov8_pytorch\lib\site-packages\torch\nn\modules\module.py", line 1940, in __getattr__
raise AttributeError(
AttributeError: 'Detect' object has no attribute 'assigner'
进程已结束,退出代码为 1
最新发布