如何使用YOLOv8进行迁移学习

问题描述 投票:0回答:1

我目前正在尝试训练人脸检测模型,并一直在使用 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)
python yolo transfer-learning yolov8
1个回答
0
投票

我也有同样的问题。我接受了添加新数据的训练,但模型只知道新数据。已经预训练的模型知道它现在正在检测的先前数据。请给我解决方案。我在训练模型时已经尝试过resume=true。

© www.soinside.com 2019 - 2024. All rights reserved.