In [22]:
! 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
In [ ]:
!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                                                           |
+---------------------------------------------------------------------------------------+

Setup¶

In [ ]:
#import os
#HOME = os.getcwd()
#print(HOME)

Install YOLOv8¶

In [ ]:
%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)
In [ ]:
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

Inference with pre-trained COCO Model¶

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:

In [ ]:
!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
In [ ]:
Image(filename='runs/segment/predict/dog.jpeg', height=600)
Out[ ]:

with x model

In [ ]:
!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
In [ ]:
Image(filename='runs/segment/predict2/dog.jpeg', height=600)
Out[ ]:

data¶

https://universe.roboflow.com/western-mindanao-state-university-vvno6/lane-detection-f9bja/dataset/8#

In [ ]:
!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`
In [ ]:
!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
In [ ]:
Image(filename=f'/content/runs/segment/train2/confusion_matrix.png', width=900)
Out[ ]:
In [ ]:
Image(filename=f'/content/runs/segment/train2/results.png', width=800)
Out[ ]:
In [ ]:
!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
In [ ]:
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")


In [ ]: