Как выполнить трансферное обучение с YOLOv8

В настоящее время я пытаюсь обучить модель распознавания лиц и использую YOLOv8-face, как показано здесь: https://github.com/akanametov/yolov8-face . Модель работает очень хорошо сама по себе, однако я не могу ее обучить. на моем собственном наборе изображений, не перезаписывая все, что уже знает предварительно обученная модель.

Так что когда бегаю без тренировки, работает отлично, распознает лица. Однако, когда затем тренируюсь на созданном мной наборе данных yaml моих собственных изображений, он внезапно забывает все, что модель уже знала, и получает знания только из моего нового набора данных. Как я могу сохранить все знания предварительно обученных моделей, добавляя к ним и обучая свои собственные изображения, чтобы сделать их более эффективными при обнаружении? вот мой текущий код:

      from ultralytics import YOLO
from PIL import Image
import cv2
import numpy as np
import requests
from io import BytesIO

model = YOLO("yolov8n-face.pt") #loading yolov8 face model
dataset = 'path(removed for privacy, but it works)' #specify dataset path
folder_path = 'test5' #specify image folder path
img_path = 'test_images/3251_Out.jpg' #if wanting to only predict single image, #replace folder_path with img_path in predict

print('model loaded')
model.train(data = dataset, epochs = 3, pretrained = True, imgsz=960) #training model

model.val() #evaluating train data
print('val complete')

#add this to predict when predicting on our set imgsize = 2160
results = model.predict(source=folder_path, save=True, conf = 0.33, line_width = 1, imgsz=2160)

0 ответов

Другие вопросы по тегам