前言
网上的yolov8教程大部分都是命令式训练,这里提供一个完整的代码式训练+中文配置
教程内容
提供yolov8的训练代码,以及中文字体文件及其配置方式
字体下载
训练代码
例子
from matplotlib import font_manager, pyplot as plt
from ultralytics import YOLO
fontPath="D:\\A01PythonProjects3123\\ultralytics-main\\wqy-zenhei\\wqy-zenhei.ttc" #字体路径
font = font_manager.FontProperties(fname=fontPath)
# 重新加载字体
font_manager.fontManager.ttflist = []
font_manager.fontManager.addfont(fontPath)
plt.rcParams['font.family'] = font.get_name()
# 加载YOLOv8模型(可以是预训练模型,也可以是新的模型)
model = YOLO("yolov8n.pt")
# 设置训练配置
train_config = {
# 'data': '/home/uav/Python312Pros/ultralytics-main/MyTrain/MergedConfig.yaml', # linux数据集路径
'data': 'D:\\A01PythonProjects3123\\ultralytics-main\\MyTrain\\MergedConfig.yaml', # windows数据集路径
'epochs': 300, # 训练轮数
'batch': 8, # 批量大小
'imgsz': 640, # 输入图像尺寸
'workers': 16, #使用核心数
'device': '0', # 训练所使用的GPU设备,0表示第一块GPU
'project': 'runs/train', # 保存训练结果的文件夹
'name': 'trainResult', # 训练结果保存的文件夹名称
'save_period': 1, # 每1个epoch保存一次模型
'resume' : False #是否继续训练
}
# 开始训练
if __name__ == '__main__':
model.train(**train_config)
使用步骤
1.将上方的字体下载下来,解压放到yolo根目录即可,如图标记的 wqy-zenhei.ttc 是主要使用的字体文件
2.根目录新建文件名为train.py,将上方代码加入进去,需要修改的是fontPath和train_config中的data,fontPath替换为自己字体的路径,也就是ttc文件,如图
3.直接运行train.py即可
关于字体
在tain.py中,关于字体最重要的是加载字体,若没有加载字体,即使字体文件路径正确也会报错找不到字体,报错信息为
findfont: Font family 'WenQuanYi Zen Hei' not found.
字体使用前后对比
在未设置中文字体前,生成的报告中字体全是空方块,如图
使用后结果如下