#Detection model
= YOLO('yolov8n.pt')
det_model
#Instance model
= YOLO('yolov8n-seg.pt') inst_model
= YOLO('yolov8n-seg.yaml')
model = YOLO('yolov8n-seg.pt') model
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 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]
4 -1 2 49664 ultralytics.nn.modules.block.C2f [64, 64, 2, True]
5 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]
6 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True]
7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]
8 -1 1 460288 ultralytics.nn.modules.block.C2f [256, 256, 1, True]
9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5]
10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]
12 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1]
13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]
15 -1 1 37248 ultralytics.nn.modules.block.C2f [192, 64, 1]
16 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2]
17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1]
18 -1 1 123648 ultralytics.nn.modules.block.C2f [192, 128, 1]
19 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]
20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1]
21 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1]
22 [15, 18, 21] 1 1150432 ultralytics.nn.modules.head.Segment [80, 32, 64, [64, 128, 256]]
YOLOv8n-seg summary: 261 layers, 3409968 parameters, 3409952 gradients, 12.8 GFLOPs
= Path(r'/home/hasan/Schreibtisch/projects/data/microscopy/data.yaml') data_yaml_path
with open (f'{data_yaml_path}') as f:
= yaml.safe_load(f)['nc'] num_classes
model.train?
Signature: model.train(trainer=None, **kwargs)
Docstring:
Trains the model on a given dataset.
Args:
trainer (BaseTrainer, optional): Customized trainer.
**kwargs (Any): Any number of arguments representing the training configuration.
File: ~/mambaforge/envs/yolo_v8/lib/python3.10/site-packages/ultralytics/engine/model.py
Type: method
= Path(r'/home/hasan/Schreibtisch/projects/data/microscopy/yolo_v8_training')
project = 'Sample_training'
name = model.train(
result =str(data_yaml_path),
data= name,
name = 2,
epochs = 0,
patience =4,
batch=256,
imgsz
)
New https://pypi.org/project/ultralytics/8.0.225 available 😃 Update with 'pip install -U ultralytics'
Ultralytics YOLOv8.0.222 🚀 Python-3.10.13 torch-2.1.1+cu121 CUDA:0 (NVIDIA GeForce RTX 2080 Ti, 10989MiB)
engine/trainer: task=segment, mode=train, model=yolov8n-seg.pt, data=/home/hasan/Schreibtisch/projects/data/microscopy/data.yaml, epochs=2, patience=0, batch=4, imgsz=256, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=Sample_training4, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, tracker=botsort.yaml, save_dir=runs/segment/Sample_training4
Overriding model.yaml nc=80 with nc=1
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 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]
4 -1 2 49664 ultralytics.nn.modules.block.C2f [64, 64, 2, True]
5 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]
6 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True]
7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]
8 -1 1 460288 ultralytics.nn.modules.block.C2f [256, 256, 1, True]
9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5]
10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]
12 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1]
13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]
15 -1 1 37248 ultralytics.nn.modules.block.C2f [192, 64, 1]
16 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2]
17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1]
18 -1 1 123648 ultralytics.nn.modules.block.C2f [192, 128, 1]
19 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]
20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1]
21 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1]
22 [15, 18, 21] 1 1004275 ultralytics.nn.modules.head.Segment [1, 32, 64, [64, 128, 256]]
YOLOv8n-seg summary: 261 layers, 3263811 parameters, 3263795 gradients, 12.1 GFLOPs
Transferred 381/417 items from pretrained weights
TensorBoard: Start with 'tensorboard --logdir runs/segment/Sample_training4', view at http://localhost:6006/
Freezing layer 'model.22.dfl.conv.weight'
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
train: New cache created: /home/hasan/Schreibtisch/projects/data/microscopy/yolo_dataset_train/labels.cache
albumentations: Blur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))
WARNING ⚠️ No labels found in /home/hasan/Schreibtisch/projects/data/microscopy/patch_train_images.cache, training may not work correctly. See https://docs.ultralytics.com/datasets/detect for dataset formatting guidance.
Plotting labels to runs/segment/Sample_training4/labels.jpg...
optimizer: 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically...
optimizer: AdamW(lr=0.002, momentum=0.9) with parameter groups 66 weight(decay=0.0), 77 weight(decay=0.0005), 76 bias(decay=0.0)
Image sizes 256 train, 256 val
Using 4 dataloader workers
Logging results to runs/segment/Sample_training4
Starting training for 2 epochs...
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
all 1642 0 0 0 0 0 0 0 0 0
WARNING ⚠️ no labels found in segment set, can not compute metrics without labels
Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size
all 1642 0 0 0 0 0 0 0 0 0
WARNING ⚠️ no labels found in segment set, can not compute metrics without labels
2 epochs completed in 0.018 hours.
Optimizer stripped from runs/segment/Sample_training4/weights/last.pt, 6.7MB
Optimizer stripped from runs/segment/Sample_training4/weights/best.pt, 6.7MB
Validating runs/segment/Sample_training4/weights/best.pt...
Ultralytics YOLOv8.0.222 🚀 Python-3.10.13 torch-2.1.1+cu121 CUDA:0 (NVIDIA GeForce RTX 2080 Ti, 10989MiB)
YOLOv8n-seg summary (fused): 195 layers, 3258259 parameters, 0 gradients, 12.0 GFLOPs
all 1642 0 0 0 0 0 0 0 0 0
WARNING ⚠️ no labels found in segment set, can not compute metrics without labels
Speed: 0.0ms preprocess, 0.9ms inference, 0.0ms loss, 0.5ms postprocess per image
Results saved to runs/segment/Sample_training4
train: Scanning /home/hasan/Schreibtisch/projects/data/microscopy/yolo_dataset_train/labels... 1633 images, 9 backgrounds, 0 corrupt: 100%|██████████| 1642/1642 [00:01<00:00, 1311.67it/s]
val: Scanning /home/hasan/Schreibtisch/projects/data/microscopy/patch_train_images.cache... 0 images, 1642 backgrounds, 0 corrupt: 100%|██████████| 1642/1642 [00:00<?, ?it/s]
1/2 0.57G 1.371 1.869 1.621 1.169 8 256: 100%|██████████| 411/411 [00:26<00:00, 15.52it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 206/206 [00:05<00:00, 37.54it/s]
2/2 0.621G 1.094 1.361 0.9631 1.023 7 256: 100%|██████████| 411/411 [00:24<00:00, 16.59it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 206/206 [00:05<00:00, 37.92it/s]
Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 206/206 [00:04<00:00, 44.32it/s]
import torch
torch.cuda.is_available()
False