YOLOV8 训练姿态检测模型
if __name__ == '__main__':
# 导入 YOLO 库
from ultralytics import YOLO
# 设置模式:True 训练姿态检测模型,False 训练普通目标检测模型
pose_mode = True # 切换为 False 训练普通 YOLO 目标检测模型
# 根据模式选择模型
if pose_mode:
model = YOLO("yolo11n-pose.pt")
data_file = "coco8-pose.yaml"
else:
model = YOLO("yolo11n.pt")
data_file = "coco8.yaml"
# 训练模型
model.train(data=data_file, epochs=100, imgsz=640, batch=8)
print(f"Training {'pose detection' if pose_mode else 'object detection'} model completed.")
初始化 YOLO
调用父类方法继续初始化,在父类方法中加载创建模型或者是加载模型
加载细节,这时我们就获得了 mode 模型的权重值,以及模型文件件保存的其他内容 ckpt 。整体类初始化完成了
进入 train 方法
构建训练器
如果没有启用恢复训练(resume=False):使用 self.trainer.get_model() 手动初始化模型。
这里是构造模型的
创建一个新的模型,然后将权重加载进去
构造PoseModel 这个类,继续调用父类的构造方法
父类里面前向传播一次计算stride
接着将权重加载进去
进入训练模式
训练的细节
准备训练前的事情,比如说优化器,dataloader 等等