! jupyter nbconvert --to html ///content/yolov8_segmentation.ipynb
[NbConvertApp] Converting notebook ///content/yolov8_segmentation.ipynb to html [NbConvertApp] Writing 3635633 bytes to /content/yolov8_segmentation.html
!nvidia-smi
Tue Mar 12 21:23:14 2024 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 | | N/A 44C P8 9W / 70W | 0MiB / 15360MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | No running processes found | +---------------------------------------------------------------------------------------+
#import os
#HOME = os.getcwd()
#print(HOME)
%pip install ultralytics
import ultralytics
ultralytics.checks()
Ultralytics YOLOv8.1.27 🚀 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB) Setup complete ✅ (2 CPUs, 12.7 GB RAM, 26.9/78.2 GB disk)
from ultralytics import YOLO
import os
from IPython.display import display, Image
from IPython import display
display.clear_output()
!yolo mode=checks
Traceback (most recent call last): File "/usr/local/bin/yolo", line 8, in <module> sys.exit(entrypoint()) File "/usr/local/lib/python3.10/dist-packages/ultralytics/cfg/__init__.py", line 509, in entrypoint raise ValueError(f"Invalid 'mode={mode}'. Valid modes are {MODES}.\n{CLI_HELP_MSG}") ValueError: Invalid 'mode=<module 'ultralytics.utils.checks' from '/usr/local/lib/python3.10/dist-packages/ultralytics/utils/checks.py'>'. Valid modes are ('train', 'val', 'predict', 'export', 'track', 'benchmark'). Arguments received: ['yolo', 'mode=checks']. Ultralytics 'yolo' commands use the following syntax: yolo TASK MODE ARGS Where TASK (optional) is one of ('detect', 'segment', 'classify', 'pose', 'obb') MODE (required) is one of ('train', 'val', 'predict', 'export', 'track', 'benchmark') ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults. See all ARGS at https://docs.ultralytics.com/usage/cfg or with 'yolo cfg' 1. Train a detection model for 10 epochs with an initial learning_rate of 0.01 yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01 2. Predict a YouTube video using a pretrained segmentation model at image size 320: yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320 3. Val a pretrained detection model at batch-size 1 and image size 640: yolo val model=yolov8n.pt data=coco128.yaml batch=1 imgsz=640 4. Export a YOLOv8n classification model to ONNX format at image size 224 by 128 (no TASK required) yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128 6. Explore your datasets using semantic search and SQL with a simple GUI powered by Ultralytics Explorer API yolo explorer 5. Run special commands: yolo help yolo checks yolo version yolo settings yolo copy-cfg yolo cfg Docs: https://docs.ultralytics.com Community: https://community.ultralytics.com GitHub: https://github.com/ultralytics/ultralytics
test YOLOv8 segmentation model using pretrained model which is trained on coco dataset, and run it on my own image
yolo mode=predict runs YOLOv8 inference on a variety of sources, downloading models automatically from the latest YOLOv8 release, and saving results to runs/predict.
with s model:
!yolo task=segment mode=predict model=yolov8s-seg.pt conf=0.25 source='https://media.roboflow.com/notebooks/examples/dog.jpeg' save=true
Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8s-seg.pt to 'yolov8s-seg.pt'...
100% 22.8M/22.8M [00:00<00:00, 158MB/s]
Ultralytics YOLOv8.1.20 🚀 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB)
YOLOv8s-seg summary (fused): 195 layers, 11810560 parameters, 0 gradients, 42.6 GFLOPs
Downloading https://media.roboflow.com/notebooks/examples/dog.jpeg to 'dog.jpeg'...
100% 104k/104k [00:00<00:00, 35.2MB/s]
image 1/1 /content/dog.jpeg: 640x384 1 person, 1 car, 1 dog, 1 backpack, 1 handbag, 106.8ms
Speed: 13.0ms preprocess, 106.8ms inference, 922.6ms postprocess per image at shape (1, 3, 640, 384)
Results saved to runs/segment/predict
💡 Learn more at https://docs.ultralytics.com/modes/predict
Image(filename='runs/segment/predict/dog.jpeg', height=600)
with x model
!yolo task=segment mode=predict model=yolov8x-seg.pt conf=0.25 source='https://media.roboflow.com/notebooks/examples/dog.jpeg' save=true
Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8x-seg.pt to 'yolov8x-seg.pt'...
100% 137M/137M [00:00<00:00, 232MB/s]
Ultralytics YOLOv8.1.20 🚀 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB)
YOLOv8x-seg summary (fused): 295 layers, 71797696 parameters, 0 gradients, 344.1 GFLOPs
Found https://media.roboflow.com/notebooks/examples/dog.jpeg locally at dog.jpeg
image 1/1 /content/dog.jpeg: 640x384 1 person, 1 car, 1 dog, 1 backpack, 120.9ms
Speed: 2.3ms preprocess, 120.9ms inference, 591.3ms postprocess per image at shape (1, 3, 640, 384)
Results saved to runs/segment/predict5
💡 Learn more at https://docs.ultralytics.com/modes/predict
Image(filename='runs/segment/predict2/dog.jpeg', height=600)
!pip install roboflow
from roboflow import Roboflow
rf = Roboflow(api_key="8f60PiLN5qzO0Jq6glkd")
project = rf.workspace("western-mindanao-state-university-vvno6").project("lane-detection-f9bja")
version = project.version(8)
dataset = version.download("yolov8")
Requirement already satisfied: roboflow in /usr/local/lib/python3.10/dist-packages (1.1.23) Requirement already satisfied: certifi==2023.7.22 in /usr/local/lib/python3.10/dist-packages (from roboflow) (2023.7.22) Requirement already satisfied: chardet==4.0.0 in /usr/local/lib/python3.10/dist-packages (from roboflow) (4.0.0) Requirement already satisfied: cycler==0.10.0 in /usr/local/lib/python3.10/dist-packages (from roboflow) (0.10.0) Requirement already satisfied: idna==2.10 in /usr/local/lib/python3.10/dist-packages (from roboflow) (2.10) Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from roboflow) (1.4.5) Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from roboflow) (3.7.1) Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.10/dist-packages (from roboflow) (1.25.2) Requirement already satisfied: opencv-python-headless==4.8.0.74 in /usr/local/lib/python3.10/dist-packages (from roboflow) (4.8.0.74) Requirement already satisfied: Pillow>=7.1.2 in /usr/local/lib/python3.10/dist-packages (from roboflow) (9.4.0) Requirement already satisfied: python-dateutil in /usr/local/lib/python3.10/dist-packages (from roboflow) (2.8.2) Requirement already satisfied: python-dotenv in /usr/local/lib/python3.10/dist-packages (from roboflow) (1.0.1) Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from roboflow) (2.31.0) Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from roboflow) (1.16.0) Requirement already satisfied: urllib3>=1.26.6 in /usr/local/lib/python3.10/dist-packages (from roboflow) (2.0.7) Requirement already satisfied: tqdm>=4.41.0 in /usr/local/lib/python3.10/dist-packages (from roboflow) (4.66.2) Requirement already satisfied: PyYAML>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from roboflow) (6.0.1) Requirement already satisfied: requests-toolbelt in /usr/local/lib/python3.10/dist-packages (from roboflow) (1.0.0) Requirement already satisfied: python-magic in /usr/local/lib/python3.10/dist-packages (from roboflow) (0.4.27) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->roboflow) (1.2.0) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->roboflow) (4.49.0) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->roboflow) (23.2) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->roboflow) (3.1.2) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->roboflow) (3.3.2) loading Roboflow workspace... loading Roboflow project... Dependency ultralytics==8.0.196 is required but found version=8.1.27, to fix: `pip install ultralytics==8.0.196`
!yolo task=segment mode=train model=yolov8m-seg.pt data={dataset.location}/data.yaml epochs=50 imgsz=640
Ultralytics YOLOv8.1.27 🚀 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB) engine/trainer: task=segment, mode=train, model=yolov8m-seg.pt, data=/content/LANE-DETECTION-8/data.yaml, epochs=50, time=None, patience=100, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=train2, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=runs/segment/train2 Downloading https://ultralytics.com/assets/Arial.ttf to '/root/.config/Ultralytics/Arial.ttf'... 100% 755k/755k [00:00<00:00, 16.1MB/s] 2024-03-12 21:24:54.485248: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered 2024-03-12 21:24:54.485306: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered 2024-03-12 21:24:54.486617: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered Overriding model.yaml nc=80 with nc=8 from n params module arguments 0 -1 1 1392 ultralytics.nn.modules.conv.Conv [3, 48, 3, 2] 1 -1 1 41664 ultralytics.nn.modules.conv.Conv [48, 96, 3, 2] 2 -1 2 111360 ultralytics.nn.modules.block.C2f [96, 96, 2, True] 3 -1 1 166272 ultralytics.nn.modules.conv.Conv [96, 192, 3, 2] 4 -1 4 813312 ultralytics.nn.modules.block.C2f [192, 192, 4, True] 5 -1 1 664320 ultralytics.nn.modules.conv.Conv [192, 384, 3, 2] 6 -1 4 3248640 ultralytics.nn.modules.block.C2f [384, 384, 4, True] 7 -1 1 1991808 ultralytics.nn.modules.conv.Conv [384, 576, 3, 2] 8 -1 2 3985920 ultralytics.nn.modules.block.C2f [576, 576, 2, True] 9 -1 1 831168 ultralytics.nn.modules.block.SPPF [576, 576, 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 2 1993728 ultralytics.nn.modules.block.C2f [960, 384, 2] 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 2 517632 ultralytics.nn.modules.block.C2f [576, 192, 2] 16 -1 1 332160 ultralytics.nn.modules.conv.Conv [192, 192, 3, 2] 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] 18 -1 2 1846272 ultralytics.nn.modules.block.C2f [576, 384, 2] 19 -1 1 1327872 ultralytics.nn.modules.conv.Conv [384, 384, 3, 2] 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] 21 -1 2 4207104 ultralytics.nn.modules.block.C2f [960, 576, 2] 22 [15, 18, 21] 1 5163656 ultralytics.nn.modules.head.Segment [8, 32, 192, [192, 384, 576]] YOLOv8m-seg summary: 331 layers, 27244280 parameters, 27244264 gradients, 110.4 GFLOPs Transferred 531/537 items from pretrained weights TensorBoard: Start with 'tensorboard --logdir runs/segment/train2', view at http://localhost:6006/ Freezing layer 'model.22.dfl.conv.weight' AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n... Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8n.pt to 'yolov8n.pt'... 100% 6.23M/6.23M [00:00<00:00, 76.5MB/s] AMP: checks passed ✅ train: Scanning /content/LANE-DETECTION-8/train/labels... 3693 images, 54 backgrounds, 0 corrupt: 100% 3693/3693 [00:02<00:00, 1834.39it/s] train: WARNING ⚠️ /content/LANE-DETECTION-8/train/images/8-2-_png.rf.8bcbf2444d411f2a49bf92531b6d51ad.jpg: 1 duplicate labels removed train: New cache created: /content/LANE-DETECTION-8/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)) val: Scanning /content/LANE-DETECTION-8/valid/labels... 923 images, 7 backgrounds, 0 corrupt: 100% 923/923 [00:01<00:00, 809.71it/s] val: New cache created: /content/LANE-DETECTION-8/valid/labels.cache Plotting labels to runs/segment/train2/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.000833, momentum=0.9) with parameter groups 86 weight(decay=0.0), 97 weight(decay=0.0005), 96 bias(decay=0.0) TensorBoard: model graph visualization added ✅ Image sizes 640 train, 640 val Using 2 dataloader workers Logging results to runs/segment/train2 Starting training for 50 epochs... Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 1/50 8.41G 1.696 2.479 2.454 1.506 38 640: 100% 231/231 [02:46<00:00, 1.39it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:20<00:00, 1.44it/s] all 923 2482 0.335 0.306 0.176 0.0888 0.309 0.254 0.149 0.0584 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 2/50 8.52G 1.81 2.12 2.033 1.578 72 640: 100% 231/231 [02:41<00:00, 1.43it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.45it/s] all 923 2482 0.445 0.184 0.152 0.0719 0.439 0.154 0.129 0.0499 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 3/50 8.49G 1.843 2.139 2.036 1.598 79 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.51it/s] all 923 2482 0.378 0.252 0.204 0.0908 0.341 0.229 0.178 0.0676 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 4/50 8.41G 1.817 2.07 1.945 1.567 62 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.50it/s] all 923 2482 0.576 0.265 0.23 0.113 0.529 0.211 0.176 0.0731 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 5/50 8.49G 1.75 2.054 1.871 1.531 53 640: 100% 231/231 [02:39<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.49it/s] all 923 2482 0.478 0.249 0.218 0.102 0.458 0.234 0.193 0.0721 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 6/50 8.41G 1.733 1.999 1.802 1.531 51 640: 100% 231/231 [02:38<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.50it/s] all 923 2482 0.505 0.379 0.297 0.144 0.464 0.387 0.273 0.112 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 7/50 8.4G 1.706 1.955 1.729 1.508 51 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.51it/s] all 923 2482 0.454 0.395 0.318 0.153 0.438 0.38 0.313 0.125 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 8/50 8.35G 1.657 1.907 1.679 1.48 71 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.48it/s] all 923 2482 0.471 0.485 0.383 0.198 0.618 0.343 0.37 0.163 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 9/50 8.32G 1.643 1.914 1.626 1.474 40 640: 100% 231/231 [02:38<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.53it/s] all 923 2482 0.56 0.433 0.414 0.217 0.538 0.426 0.393 0.18 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 10/50 9.05G 1.615 1.88 1.582 1.458 65 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.52it/s] all 923 2482 0.592 0.44 0.438 0.232 0.586 0.437 0.427 0.189 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 11/50 8.44G 1.581 1.827 1.53 1.433 73 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.51it/s] all 923 2482 0.577 0.426 0.418 0.224 0.57 0.414 0.404 0.181 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 12/50 8.44G 1.569 1.82 1.495 1.422 40 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.57it/s] all 923 2482 0.642 0.433 0.46 0.232 0.635 0.421 0.454 0.206 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 13/50 8.46G 1.565 1.792 1.487 1.416 64 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.51it/s] all 923 2482 0.509 0.516 0.418 0.213 0.492 0.515 0.415 0.174 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 14/50 8.37G 1.552 1.803 1.464 1.412 59 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.53it/s] all 923 2482 0.61 0.476 0.435 0.234 0.588 0.458 0.421 0.192 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 15/50 8.35G 1.53 1.787 1.432 1.398 77 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.55it/s] all 923 2482 0.631 0.479 0.488 0.27 0.662 0.427 0.456 0.223 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 16/50 8.47G 1.519 1.769 1.378 1.386 70 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.58it/s] all 923 2482 0.597 0.518 0.482 0.258 0.606 0.464 0.451 0.204 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 17/50 8.63G 1.499 1.764 1.368 1.367 23 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.50it/s] all 923 2482 0.614 0.512 0.514 0.287 0.605 0.495 0.496 0.24 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 18/50 8.51G 1.497 1.746 1.345 1.373 39 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.51it/s] all 923 2482 0.658 0.462 0.495 0.278 0.644 0.45 0.47 0.222 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 19/50 8.39G 1.49 1.711 1.353 1.372 126 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.58it/s] all 923 2482 0.619 0.503 0.5 0.278 0.599 0.491 0.479 0.219 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 20/50 8.46G 1.466 1.728 1.306 1.358 81 640: 100% 231/231 [02:38<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.53it/s] all 923 2482 0.613 0.53 0.49 0.273 0.603 0.516 0.474 0.228 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 21/50 8.34G 1.455 1.682 1.289 1.347 61 640: 100% 231/231 [02:38<00:00, 1.46it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.57it/s] all 923 2482 0.463 0.525 0.504 0.277 0.577 0.486 0.479 0.224 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 22/50 8.39G 1.456 1.685 1.28 1.347 73 640: 100% 231/231 [02:39<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.53it/s] all 923 2482 0.673 0.502 0.536 0.308 0.652 0.496 0.516 0.258 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 23/50 8.48G 1.448 1.686 1.279 1.345 82 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.49it/s] all 923 2482 0.699 0.494 0.529 0.292 0.676 0.477 0.498 0.241 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 24/50 8.68G 1.424 1.651 1.234 1.325 53 640: 100% 231/231 [02:41<00:00, 1.43it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.55it/s] all 923 2482 0.703 0.488 0.529 0.312 0.701 0.481 0.512 0.256 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 25/50 8.46G 1.416 1.639 1.225 1.322 73 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.54it/s] all 923 2482 0.539 0.534 0.534 0.302 0.536 0.532 0.523 0.259 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 26/50 8.42G 1.409 1.651 1.208 1.321 60 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.53it/s] all 923 2482 0.623 0.573 0.526 0.307 0.609 0.556 0.511 0.237 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 27/50 8.35G 1.389 1.635 1.187 1.312 78 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.55it/s] all 923 2482 0.646 0.537 0.523 0.299 0.623 0.516 0.508 0.243 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 28/50 8.41G 1.407 1.616 1.185 1.324 49 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.52it/s] all 923 2482 0.676 0.539 0.558 0.312 0.686 0.503 0.538 0.281 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 29/50 8.44G 1.39 1.621 1.18 1.313 62 640: 100% 231/231 [02:41<00:00, 1.43it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.56it/s] all 923 2482 0.637 0.567 0.56 0.321 0.612 0.544 0.52 0.262 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 30/50 8.5G 1.382 1.567 1.164 1.301 75 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.53it/s] all 923 2482 0.66 0.526 0.549 0.329 0.636 0.499 0.521 0.268 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 31/50 9.02G 1.348 1.565 1.138 1.289 50 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.57it/s] all 923 2482 0.697 0.515 0.561 0.334 0.68 0.496 0.537 0.282 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 32/50 8.34G 1.367 1.597 1.125 1.3 65 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.57it/s] all 923 2482 0.654 0.512 0.539 0.298 0.639 0.497 0.513 0.264 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 33/50 8.56G 1.345 1.543 1.097 1.28 46 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.50it/s] all 923 2482 0.67 0.559 0.567 0.343 0.665 0.515 0.541 0.282 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 34/50 8.42G 1.336 1.555 1.088 1.271 72 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.59it/s] all 923 2482 0.652 0.558 0.556 0.324 0.638 0.541 0.535 0.268 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 35/50 8.31G 1.316 1.521 1.067 1.259 92 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.54it/s] all 923 2482 0.658 0.514 0.537 0.323 0.704 0.45 0.504 0.261 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 36/50 8.61G 1.313 1.504 1.049 1.266 94 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.60it/s] all 923 2482 0.697 0.533 0.563 0.334 0.712 0.506 0.53 0.275 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 37/50 8.39G 1.311 1.509 1.035 1.261 77 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.58it/s] all 923 2482 0.68 0.539 0.552 0.332 0.714 0.505 0.551 0.28 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 38/50 8.5G 1.304 1.475 1.04 1.259 83 640: 100% 231/231 [02:40<00:00, 1.44it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.58it/s] all 923 2482 0.672 0.548 0.573 0.345 0.656 0.53 0.547 0.288 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 39/50 8.59G 1.293 1.494 1.022 1.246 128 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.55it/s] all 923 2482 0.692 0.546 0.587 0.357 0.667 0.53 0.555 0.297 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 40/50 8.38G 1.251 1.461 0.9866 1.222 48 640: 100% 231/231 [02:39<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.52it/s] all 923 2482 0.722 0.534 0.58 0.349 0.732 0.509 0.552 0.289 Closing dataloader mosaic 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)) Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 41/50 8.4G 1.293 1.433 0.9483 1.251 30 640: 100% 231/231 [02:38<00:00, 1.45it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.54it/s] all 923 2482 0.697 0.58 0.598 0.371 0.656 0.574 0.574 0.304 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 42/50 8.34G 1.271 1.41 0.9095 1.233 33 640: 100% 231/231 [02:37<00:00, 1.47it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.55it/s] all 923 2482 0.733 0.519 0.573 0.353 0.722 0.504 0.548 0.286 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 43/50 9G 1.246 1.396 0.8813 1.217 47 640: 100% 231/231 [02:36<00:00, 1.47it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:19<00:00, 1.49it/s] all 923 2482 0.688 0.579 0.586 0.347 0.664 0.555 0.554 0.29 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 44/50 8.37G 1.227 1.384 0.8663 1.212 41 640: 100% 231/231 [02:36<00:00, 1.48it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.59it/s] all 923 2482 0.725 0.556 0.583 0.355 0.722 0.527 0.557 0.297 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 45/50 8.35G 1.22 1.381 0.8505 1.206 51 640: 100% 231/231 [02:36<00:00, 1.48it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.58it/s] all 923 2482 0.709 0.578 0.581 0.359 0.706 0.551 0.564 0.3 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 46/50 8.39G 1.209 1.359 0.8371 1.196 31 640: 100% 231/231 [02:36<00:00, 1.48it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.55it/s] all 923 2482 0.752 0.537 0.589 0.358 0.746 0.507 0.561 0.303 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 47/50 8.96G 1.188 1.32 0.8092 1.189 46 640: 100% 231/231 [02:36<00:00, 1.47it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.59it/s] all 923 2482 0.72 0.565 0.585 0.354 0.704 0.544 0.561 0.301 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 48/50 8.28G 1.187 1.31 0.8133 1.182 53 640: 100% 231/231 [02:36<00:00, 1.48it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.54it/s] all 923 2482 0.751 0.551 0.593 0.369 0.736 0.534 0.572 0.311 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 49/50 8.29G 1.18 1.303 0.7996 1.182 44 640: 100% 231/231 [02:38<00:00, 1.46it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:18<00:00, 1.59it/s] all 923 2482 0.635 0.561 0.601 0.365 0.615 0.544 0.578 0.307 Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size 50/50 8.42G 1.161 1.292 0.7898 1.172 53 640: 100% 231/231 [02:38<00:00, 1.46it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:20<00:00, 1.45it/s] all 923 2482 0.747 0.568 0.605 0.373 0.731 0.554 0.58 0.314 50 epochs completed in 2.582 hours. Optimizer stripped from runs/segment/train2/weights/last.pt, 54.8MB Optimizer stripped from runs/segment/train2/weights/best.pt, 54.8MB Validating runs/segment/train2/weights/best.pt... Ultralytics YOLOv8.1.27 🚀 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB) YOLOv8m-seg summary (fused): 245 layers, 27227016 parameters, 0 gradients, 110.0 GFLOPs Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 29/29 [00:24<00:00, 1.17it/s] all 923 2482 0.746 0.568 0.605 0.373 0.73 0.553 0.579 0.314 BROKEN WHITE LINES 923 116 0.718 0.672 0.692 0.425 0.676 0.629 0.635 0.29 HUMP 923 148 0.73 0.635 0.698 0.336 0.71 0.615 0.671 0.296 LANE ARROWS 923 1 1 0 0 0 1 0 0.00748 0.00224 MIXED DOUBLE LINES 923 11 0.881 0.818 0.885 0.718 0.883 0.818 0.885 0.653 PEDESTRIAN LANE 923 55 0.837 0.855 0.902 0.51 0.84 0.855 0.904 0.498 POTHOLE 923 1667 0.755 0.519 0.606 0.3 0.683 0.463 0.541 0.246 SOLID WHITE LINE 923 25 0.392 0.36 0.365 0.267 0.394 0.36 0.316 0.198 VEHICLE 923 459 0.653 0.688 0.69 0.43 0.652 0.682 0.672 0.331 Speed: 0.3ms preprocess, 13.1ms inference, 0.0ms loss, 2.5ms postprocess per image Results saved to runs/segment/train2 💡 Learn more at https://docs.ultralytics.com/modes/train
Image(filename=f'/content/runs/segment/train2/confusion_matrix.png', width=900)
Image(filename=f'/content/runs/segment/train2/results.png', width=800)
!yolo task=segment mode=val model=/content/runs/segment/train2/weights/best.pt data={dataset.location}/data.yaml
Ultralytics YOLOv8.1.27 🚀 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB) YOLOv8m-seg summary (fused): 245 layers, 27227016 parameters, 0 gradients, 110.0 GFLOPs val: Scanning /content/LANE-DETECTION-8/valid/labels.cache... 923 images, 7 backgrounds, 0 corrupt: 100% 923/923 [00:00<?, ?it/s] Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% 58/58 [00:32<00:00, 1.77it/s] all 923 2482 0.746 0.568 0.606 0.373 0.728 0.552 0.579 0.313 BROKEN WHITE LINES 923 116 0.718 0.672 0.694 0.426 0.676 0.629 0.639 0.288 HUMP 923 148 0.731 0.635 0.699 0.335 0.703 0.608 0.666 0.297 LANE ARROWS 923 1 1 0 0 0 1 0 0.00748 0.00224 MIXED DOUBLE LINES 923 11 0.882 0.818 0.885 0.718 0.884 0.818 0.885 0.653 PEDESTRIAN LANE 923 55 0.837 0.855 0.903 0.51 0.84 0.855 0.905 0.493 POTHOLE 923 1667 0.754 0.518 0.606 0.301 0.676 0.458 0.536 0.24 SOLID WHITE LINE 923 25 0.392 0.36 0.373 0.269 0.394 0.36 0.32 0.201 VEHICLE 923 459 0.653 0.688 0.692 0.429 0.654 0.684 0.674 0.328 Speed: 0.4ms preprocess, 24.7ms inference, 0.0ms loss, 2.4ms postprocess per image Results saved to runs/segment/val 💡 Learn more at https://docs.ultralytics.com/modes/val
import glob
from IPython.display import Image, display
for image_path in glob.glob(f'/content/runs/segment/val/*.jpg')[:2]:
display(Image(filename=image_path,height=600))
print("\n")