bak
This commit is contained in:
parent
1d3880e1fd
commit
2952edd7c3
|
|
@ -0,0 +1,26 @@
|
|||
from ultralytics import YOLO
|
||||
# 加载预训练模型
|
||||
model = YOLO('models/yolov8n-pose.pt')
|
||||
# model = YOLO('models/yolo11x-pose.pt')
|
||||
# model = YOLO('models/yolov8n-pose.pt')
|
||||
# model = YOLO('runs/pose/train2/weights/last.pt')
|
||||
|
||||
|
||||
# 训练模型
|
||||
# data:数据集路径
|
||||
# epochs:训练轮数
|
||||
# imgsz: 图片大小
|
||||
# batch: 批次大小
|
||||
# device: 使用设备 0:GPU 'cpu':CPU
|
||||
# workers: 使用的进程数
|
||||
# verbose: 训练进度条
|
||||
# resume: 恢复训练
|
||||
# name: 训练结果保存名称
|
||||
# plot: 绘制训练曲线
|
||||
# save: 保存训练结果
|
||||
# save_period: 每隔多少轮保存一次模型
|
||||
# save_dir: 训练结果保存路径
|
||||
# weights: 预训练模型路径
|
||||
model.info()
|
||||
model.train(data='./dataset1/train.yaml', epochs=300, imgsz=640, batch=32, device=0)
|
||||
print("训练完成")
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
from ultralytics import YOLO
|
||||
import torch
|
||||
|
||||
# 加载预训练模型
|
||||
model = YOLO('models/yolov8n-pose.pt')
|
||||
# model = YOLO('models/yolo11x-pose.pt')
|
||||
# model = YOLO('models/yolov8n-pose.pt')
|
||||
# model = YOLO('runs/pose/train2/weights/last.pt')
|
||||
|
||||
model.info()
|
||||
# 检查MPS可用性
|
||||
print(f"MPS available: {torch.backends.mps.is_available()}")
|
||||
print(f"MPS built: {torch.backends.mps.is_built()}")
|
||||
# MPS优化配置
|
||||
model.train(data='./dataset1/train.yaml', epochs=300,
|
||||
imgsz=320, # M2 Pro上建议减小尺寸
|
||||
batch=8, # 根据内存调整
|
||||
device='mps', # 使用Apple Metal Performance Shaders
|
||||
workers=2, # MPS下建议2个worker
|
||||
patience=50,
|
||||
lr0=0.01,
|
||||
lrf=0.01,
|
||||
momentum=0.9, # MPS上动量稍小
|
||||
weight_decay=0.0005,
|
||||
warmup_epochs=5.0,
|
||||
box=7.5,
|
||||
pose=1.0, # 增加姿态损失权重
|
||||
kobj=1.5,
|
||||
save=True,
|
||||
exist_ok=True,
|
||||
verbose=True,
|
||||
amp=False # MPS上关闭自动混合精度
|
||||
)
|
||||
print("训练完成")
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
from ultralytics import YOLO
|
||||
import torch
|
||||
|
||||
# 检查GPU信息
|
||||
print(f"CUDA可用: {torch.cuda.is_available()}")
|
||||
print(f"GPU数量: {torch.cuda.device_count()}")
|
||||
print(f"当前GPU: {torch.cuda.get_device_name(0)}")
|
||||
print(f"GPU内存: {torch.cuda.get_device_properties(0).total_memory / 1024 ** 3:.1f} GB")
|
||||
|
||||
model = YOLO('models/yolov8n-pose.pt')
|
||||
|
||||
# 3080优化配置
|
||||
model.train(
|
||||
data='./dataset1/train.yaml',
|
||||
epochs=300,
|
||||
imgsz=640, # 3080可以处理原尺寸
|
||||
batch=32, # 根据12GB内存调整
|
||||
device=0, # 使用GPU 0
|
||||
workers=8, # 充分利用CPU核心
|
||||
patience=50,
|
||||
lr0=0.01,
|
||||
lrf=0.01,
|
||||
momentum=0.937,
|
||||
weight_decay=0.0005,
|
||||
warmup_epochs=3.0,
|
||||
|
||||
# 损失权重调整(重点解决姿态问题)
|
||||
box=7.5,
|
||||
pose=1.5, # 提高姿态损失权重
|
||||
kobj=2.0, # 提高关键点目标权重
|
||||
cls=1.0,
|
||||
|
||||
# 性能优化
|
||||
amp=True, # 自动混合精度训练
|
||||
cos_lr=True, # 余弦学习率调度
|
||||
close_mosaic=10, # 最后10epoch关闭马赛克增强
|
||||
|
||||
# 数据增强
|
||||
hsv_h=0.015,
|
||||
hsv_s=0.7,
|
||||
hsv_v=0.4,
|
||||
fliplr=0.5, # 水平翻转对姿态很重要
|
||||
|
||||
save=True,
|
||||
exist_ok=True,
|
||||
verbose=True
|
||||
)
|
||||
print("训练完成")
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
from ultralytics import YOLO
|
||||
import torch
|
||||
# 加载预训练模型
|
||||
model = YOLO('models/yolov8n-pose.pt')
|
||||
# model = YOLO('models/yolo11x-pose.pt')
|
||||
# model = YOLO('models/yolov8n-pose.pt')
|
||||
# model = YOLO('runs/pose/train2/weights/last.pt')
|
||||
|
||||
|
||||
# 训练模型
|
||||
# data:数据集路径
|
||||
# epochs:训练轮数
|
||||
# imgsz: 图片大小
|
||||
# batch: 批次大小
|
||||
# device: 使用设备 0:GPU 'cpu':CPU
|
||||
# workers: 使用的进程数
|
||||
# verbose: 训练进度条
|
||||
# resume: 恢复训练
|
||||
# name: 训练结果保存名称
|
||||
# plot: 绘制训练曲线
|
||||
# save: 保存训练结果
|
||||
# save_period: 每隔多少轮保存一次模型
|
||||
# save_dir: 训练结果保存路径
|
||||
# weights: 预训练模型路径
|
||||
model.info()
|
||||
model.train(data='./dataset1/train.yaml', epochs=300, imgsz=640, batch=32, device=0)
|
||||
|
||||
|
||||
|
||||
#
|
||||
# # 检查MPS可用性
|
||||
# print(f"MPS available: {torch.backends.mps.is_available()}")
|
||||
# print(f"MPS built: {torch.backends.mps.is_built()}")
|
||||
#
|
||||
# model = YOLO('models/yolov8n-pose.pt')
|
||||
#
|
||||
# # MPS优化配置
|
||||
# model.train( data='./dataset1/train.yaml', epochs=300,
|
||||
# imgsz=320, # M2 Pro上建议减小尺寸
|
||||
# batch=8, # 根据内存调整
|
||||
# device='mps', # 使用Apple Metal Performance Shaders
|
||||
# workers=2, # MPS下建议2个worker
|
||||
# patience=50,
|
||||
# lr0=0.01,
|
||||
# lrf=0.01,
|
||||
# momentum=0.9, # MPS上动量稍小
|
||||
# weight_decay=0.0005,
|
||||
# warmup_epochs=5.0,
|
||||
# box=7.5,
|
||||
# pose=1.0, # 增加姿态损失权重
|
||||
# kobj=1.5,
|
||||
# save=True,
|
||||
# exist_ok=True,
|
||||
# verbose=True,
|
||||
# amp=False # MPS上关闭自动混合精度
|
||||
# )
|
||||
# print("训练完成")
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
ultralytics~=8.3.198
|
||||
opencv-python~=4.12.0.88
|
||||
numpy~=2.0.2
|
||||
pyautogui
|
||||
moviepy
|
||||
pyautogui~=0.9.54
|
||||
moviepy~=2.2.1
|
||||
torch~=2.8.0
|
||||
Loading…
Reference in New Issue