Anonymous
Как я могу провести обучение классификации изображений с помощью yolov8?
Сообщение
Anonymous » 26 ноя 2024, 09:42
Согласно документации YOLOV8 Classify,
это код, использующий набор данных mnist:
Код: Выделить всё
from ultralytics import YOLO
##### Load a model
model = YOLO('yolov8n-cls.yaml') # build a new model from YAML
model = YOLO('yolov8n-cls.pt') # load a pretrained model (recommended for training)
model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt') # build from YAML and transfer weights
##### Train the model
model.train(data='mnist160', epochs=100, imgsz=64)
У меня есть набор данных изображений счетов и квитанций в отдельных папках, и я хочу потренироваться в решении задач классификации с помощью yolov8. У меня возникли проблемы с тем, где и как указать здесь путь к изображению, а также, если нужно использовать yaml, как я могу это сделать?
Было бы здорово, если бы вы могли поделиться идеями для завершения обучения для того же самого.
Мои изображения имеют следующий формат пути:
Это мой код:
Код: Выделить всё
from ultralytics import YOLO
model = YOLO('yolov8n-cls.pt') # load a pretrained model (recommended for training)
# Train the model
model.train(data="train/", epochs=100, imgsz=64)
Ошибка:
Код: Выделить всё
Ultralytics YOLOv8.0.55 Python-3.8.8 torch-2.0.0+cpu CPU
yolo\engine\trainer: task=classify, mode=train, model=yolov8n-cls.pt, data=train/, epochs=100, patience=50, batch=16, imgsz=64, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=None, exist_ok=False, pretrained=False, optimizer=SGD, verbose=True, seed=0, deterministic=True, single_cls=False, image_weights=False, rect=False, cos_lr=False, close_mosaic=10, resume=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, show=False, save_txt=False, save_conf=False, save_crop=False, hide_labels=False, hide_conf=False, vid_stride=1, line_thickness=3, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, fl_gamma=0.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, v5loader=False, tracker=botsort.yaml, save_dir=runs\classify\train10
Overriding model.yaml nc=1000 with nc=2
from n params module arguments
0 -1 1 464 ultralytics.nn.modules.Conv [3, 16, 3, 2]
1 -1 1 4672 ultralytics.nn.modules.Conv [16, 32, 3, 2]
2 -1 1 7360 ultralytics.nn.modules.C2f [32, 32, 1, True]
3 -1 1 18560 ultralytics.nn.modules.Conv [32, 64, 3, 2]
4 -1 2 49664 ultralytics.nn.modules.C2f [64, 64, 2, True]
5 -1 1 73984 ultralytics.nn.modules.Conv [64, 128, 3, 2]
6 -1 2 197632 ultralytics.nn.modules.C2f [128, 128, 2, True]
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\ultralytics\yolo\v8\classify\train.py", line 72, in get_dataloader
loader = build_classification_dataloader(path=dataset_path,
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\ultralytics\yolo\data\build.py", line 119, in build_classification_dataloader
dataset = ClassificationDataset(root=path, imgsz=imgsz, augment=augment, cache=cache)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\ultralytics\yolo\data\dataset.py", line 229, in __init__
super().__init__(root=root)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 309, in __init__
super().__init__(
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 145, in __init__
samples = self.make_dataset(self.root, class_to_idx, extensions, is_valid_file)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 189, in make_dataset
return make_dataset(directory, class_to_idx, extensions=extensions, is_valid_file=is_valid_file)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 102, in make_dataset
raise FileNotFoundError(msg)
FileNotFoundError: Found no valid file for the classes labels. Supported extensions are: .jpg, .jpeg, .png, .ppm, .bmp, .pgm, .tif, .tiff, .webp
Я хочу обучить изображения и классифицировать входное изображение как счет-фактуру или квитанцию с помощью yolov8.
Подробнее здесь:
https://stackoverflow.com/questions/758 ... ing-yolov8
1732603334
Anonymous
Согласно документации YOLOV8 Classify, это код, использующий набор данных mnist: [code]from ultralytics import YOLO ##### Load a model model = YOLO('yolov8n-cls.yaml') # build a new model from YAML model = YOLO('yolov8n-cls.pt') # load a pretrained model (recommended for training) model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt') # build from YAML and transfer weights ##### Train the model model.train(data='mnist160', epochs=100, imgsz=64) [/code] У меня есть набор данных изображений счетов и квитанций в отдельных папках, и я хочу потренироваться в решении задач классификации с помощью yolov8. У меня возникли проблемы с тем, где и как указать здесь путь к изображению, а также, если нужно использовать yaml, как я могу это сделать? Было бы здорово, если бы вы могли поделиться идеями для завершения обучения для того же самого. Мои изображения имеют следующий формат пути: [code]prj -train -invoice -receipt [/code] Это мой код: [code]from ultralytics import YOLO model = YOLO('yolov8n-cls.pt') # load a pretrained model (recommended for training) # Train the model model.train(data="train/", epochs=100, imgsz=64) [/code] Ошибка: [code]Ultralytics YOLOv8.0.55 Python-3.8.8 torch-2.0.0+cpu CPU yolo\engine\trainer: task=classify, mode=train, model=yolov8n-cls.pt, data=train/, epochs=100, patience=50, batch=16, imgsz=64, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=None, exist_ok=False, pretrained=False, optimizer=SGD, verbose=True, seed=0, deterministic=True, single_cls=False, image_weights=False, rect=False, cos_lr=False, close_mosaic=10, resume=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, show=False, save_txt=False, save_conf=False, save_crop=False, hide_labels=False, hide_conf=False, vid_stride=1, line_thickness=3, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, 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, fl_gamma=0.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, v5loader=False, tracker=botsort.yaml, save_dir=runs\classify\train10 Overriding model.yaml nc=1000 with nc=2 from n params module arguments 0 -1 1 464 ultralytics.nn.modules.Conv [3, 16, 3, 2] 1 -1 1 4672 ultralytics.nn.modules.Conv [16, 32, 3, 2] 2 -1 1 7360 ultralytics.nn.modules.C2f [32, 32, 1, True] 3 -1 1 18560 ultralytics.nn.modules.Conv [32, 64, 3, 2] 4 -1 2 49664 ultralytics.nn.modules.C2f [64, 64, 2, True] 5 -1 1 73984 ultralytics.nn.modules.Conv [64, 128, 3, 2] 6 -1 2 197632 ultralytics.nn.modules.C2f [128, 128, 2, True] File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\ultralytics\yolo\v8\classify\train.py", line 72, in get_dataloader loader = build_classification_dataloader(path=dataset_path, File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\ultralytics\yolo\data\build.py", line 119, in build_classification_dataloader dataset = ClassificationDataset(root=path, imgsz=imgsz, augment=augment, cache=cache) File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\ultralytics\yolo\data\dataset.py", line 229, in __init__ super().__init__(root=root) File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 309, in __init__ super().__init__( File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 145, in __init__ samples = self.make_dataset(self.root, class_to_idx, extensions, is_valid_file) File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 189, in make_dataset return make_dataset(directory, class_to_idx, extensions=extensions, is_valid_file=is_valid_file) File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\folder.py", line 102, in make_dataset raise FileNotFoundError(msg) FileNotFoundError: Found no valid file for the classes labels. Supported extensions are: .jpg, .jpeg, .png, .ppm, .bmp, .pgm, .tif, .tiff, .webp [/code] Я хочу обучить изображения и классифицировать входное изображение как счет-фактуру или квитанцию с помощью yolov8. Подробнее здесь: [url]https://stackoverflow.com/questions/75884318/how-can-i-do-image-classification-training-using-yolov8[/url]