基础训练
This commit is contained in:
15
data.yaml
Normal file
15
data.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
names:
|
||||
0: Abdomen
|
||||
1: Hips
|
||||
2: Chest
|
||||
3: vulva
|
||||
4: back
|
||||
5: penis
|
||||
6: Horror
|
||||
path: D:\Train\data\images
|
||||
test:
|
||||
- test
|
||||
train:
|
||||
- train
|
||||
val:
|
||||
- val
|
||||
21
path.py
Normal file
21
path.py
Normal file
@ -0,0 +1,21 @@
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
|
||||
def update_data_yml_path():
|
||||
root_dir = Path(__file__).parent.absolute()
|
||||
images_dir = root_dir / "data" / "images"
|
||||
data_yml_path = root_dir / "data.yaml"
|
||||
with open(data_yml_path, "r", encoding="utf-8") as f:
|
||||
yaml_data = yaml.safe_load(f)
|
||||
if yaml_data is None:
|
||||
yaml_data = {}
|
||||
yaml_data["path"] = str(images_dir.absolute())
|
||||
with open(data_yml_path, "w", encoding="utf-8") as f:
|
||||
yaml.safe_dump(
|
||||
yaml_data,
|
||||
f,
|
||||
allow_unicode=True,
|
||||
default_flow_style=False
|
||||
)
|
||||
30
train.py
Normal file
30
train.py
Normal file
@ -0,0 +1,30 @@
|
||||
import warnings
|
||||
from path import update_data_yml_path
|
||||
warnings.filterwarnings('ignore')
|
||||
from ultralytics import YOLO
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# 加载并设置配置文件数据集绝对路径
|
||||
update_data_yml_path()
|
||||
# 加载模型配置文件
|
||||
model = YOLO(model=r'yolo11.yml')
|
||||
# 加载预训练权重
|
||||
model.load(r'yolo11n.pt')
|
||||
model.train(
|
||||
data=r'data.yaml',
|
||||
imgsz=640,
|
||||
epochs=200,
|
||||
batch=16,
|
||||
workers=4,
|
||||
close_mosaic=30,
|
||||
device='0',
|
||||
optimizer='SGD',
|
||||
resume=False,
|
||||
project='runs/train',
|
||||
name='result',
|
||||
single_cls=False,
|
||||
cache=False
|
||||
)
|
||||
|
||||
|
||||
50
yolo11.yml
Normal file
50
yolo11.yml
Normal file
@ -0,0 +1,50 @@
|
||||
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
||||
|
||||
# Ultralytics YOLO11 object detection model with P3/8 - P5/32 outputs
|
||||
# Model docs: https://docs.ultralytics.com/models/yolo11
|
||||
# Task docs: https://docs.ultralytics.com/tasks/detect
|
||||
|
||||
# Parameters
|
||||
nc: 80 # number of classes
|
||||
scales: # model compound scaling constants, i.e. 'model=yolo11n.yaml' will call yolo11.yaml with scale 'n'
|
||||
# [depth, width, max_channels]
|
||||
n: [0.50, 0.25, 1024] # summary: 181 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPs
|
||||
s: [0.50, 0.50, 1024] # summary: 181 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs
|
||||
m: [0.50, 1.00, 512] # summary: 231 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPs
|
||||
l: [1.00, 1.00, 512] # summary: 357 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPs
|
||||
x: [1.00, 1.50, 512] # summary: 357 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs
|
||||
|
||||
# YOLO11n backbone
|
||||
backbone:
|
||||
# [from, repeats, module, args]
|
||||
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
||||
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
||||
- [-1, 2, C3k2, [256, False, 0.25]]
|
||||
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
||||
- [-1, 2, C3k2, [512, False, 0.25]]
|
||||
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
||||
- [-1, 2, C3k2, [512, True]]
|
||||
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
||||
- [-1, 2, C3k2, [1024, True]]
|
||||
- [-1, 1, SPPF, [1024, 5]] # 9
|
||||
- [-1, 2, C2PSA, [1024]] # 10
|
||||
|
||||
# YOLO11n head
|
||||
head:
|
||||
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
||||
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
||||
- [-1, 2, C3k2, [512, False]] # 13
|
||||
|
||||
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
||||
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
||||
- [-1, 2, C3k2, [256, False]] # 16 (P3/8-small)
|
||||
|
||||
- [-1, 1, Conv, [256, 3, 2]]
|
||||
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
||||
- [-1, 2, C3k2, [512, False]] # 19 (P4/16-medium)
|
||||
|
||||
- [-1, 1, Conv, [512, 3, 2]]
|
||||
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
||||
- [-1, 2, C3k2, [1024, True]] # 22 (P5/32-large)
|
||||
|
||||
- [[16, 19, 22], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
||||
BIN
yolo11n.pt
Normal file
BIN
yolo11n.pt
Normal file
Binary file not shown.
Reference in New Issue
Block a user