Как я могу провести обучение классификации изображений с помощью yolov8?Python

Программы на Python
Ответить
Anonymous
 Как я могу провести обучение классификации изображений с помощью yolov8?

Сообщение Anonymous »

Согласно документации 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, как я могу это сделать?
Было бы здорово, если бы вы могли поделиться идеями для завершения обучения для того же самого.
Мои изображения имеют следующий формат пути:

Код: Выделить всё

prj
-train
-invoice
-receipt
Это мой код:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»