Commit c6a27e0b authored by panhb's avatar panhb
Browse files

first init

parent e4b993b1
Pipeline #2192 canceled with stages
_BASE_: [
'../../datasets/openimagesv7_detection.yml',
'../../runtime.yml',
'../_base_/optimizer_100e.yml',
'../_base_/yolov8_cspdarknet.yml',
'../_base_/yolov8_reader.yml',
]
depth_mult: 0.33
width_mult: 0.25
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_n_100e_oiv7/model_final
YOLOv8Head:
customized_c3: 100
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../../datasets/openimagesv7_detection.yml',
'../../runtime.yml',
'../_base_/optimizer_100e.yml',
'../_base_/yolov8_cspdarknet.yml',
'../_base_/yolov8_reader.yml',
]
depth_mult: 0.33
width_mult: 0.50
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_s_100e_oiv7/model_final
YOLOv8Head:
customized_c3: 128
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../../datasets/openimagesv7_detection.yml',
'../../runtime.yml',
'../_base_/optimizer_100e.yml',
'../_base_/yolov8_cspdarknet.yml',
'../_base_/yolov8_reader_high_aug.yml',
]
depth_mult: 1.0 # not 1.33 as in YOLOv5
width_mult: 1.25
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_x_100e_oiv7/model_final
YOLOv8CSPDarkNet:
last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5
YOLOv8Head:
customized_c3: 320
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../datasets/coco_detection.yml',
'../runtime.yml',
'_base_/optimizer_500e_high.yml',
'_base_/yolov8_cspdarknet.yml',
'_base_/yolov8_reader_high_aug.yml',
]
depth_mult: 1.0
width_mult: 1.0
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_l_500e_coco/model_final
YOLOv8CSPDarkNet:
last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../datasets/coco_detection.yml',
'../runtime.yml',
'_base_/optimizer_500e_high.yml',
'_base_/yolov8_cspdarknet.yml',
'_base_/yolov8_reader_high_aug.yml',
]
depth_mult: 0.67
width_mult: 0.75
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_m_500e_coco/model_final
YOLOv8CSPDarkNet:
last_stage_ch: 768 # The actual channel is int(768 * width_mult), not int(1024 * width_mult) as in YOLOv5
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../datasets/coco_detection.yml',
'../runtime.yml',
'_base_/optimizer_500e.yml',
'_base_/yolov8_cspdarknet.yml',
'_base_/yolov8_reader.yml',
]
depth_mult: 0.33
width_mult: 0.25
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_n_500e_coco/model_final
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../datasets/coco_detection.yml',
'../runtime.yml',
'_base_/optimizer_500e.yml',
'_base_/yolov8_cspdarknet.yml',
'_base_/yolov8_reader.yml',
]
depth_mult: 0.33
width_mult: 0.50
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_s_500e_coco/model_final
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../datasets/coco_detection.yml',
'../runtime.yml',
'_base_/optimizer_500e_high.yml',
'_base_/yolov8_cspdarknet.yml',
'_base_/yolov8_reader_high_aug.yml',
]
depth_mult: 1.0 # not 1.33 as in YOLOv5
width_mult: 1.25
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_x_500e_coco/model_final
YOLOv8CSPDarkNet:
last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
_BASE_: [
'../datasets/coco_detection.yml',
'../runtime.yml',
'_base_/optimizer_500e_high.yml',
'_base_/yolov8p6_cspdarknet.yml',
'_base_/yolov8p6_reader.yml',
]
depth_mult: 1.0 # not 1.33 as in YOLOv5-P6
width_mult: 1.25
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8p6_x_500e_coco/model_final
YOLOv8CSPDarkNet:
last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5-P6
last2_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(768 * width_mult) as in YOLOv5-P6
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
# YOLOv8 Instance segmentation
## 模型库
### 实例分割模型
| 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | TRT-FP16-Latency(ms) | box AP | mask AP | Params(M) | FLOPs(G) | 下载链接 | 配置文件 |
| :------------- | :------- | :-------: | :------: | :------------: | :---------------------: | :----------------: |:---------: | :------: |:---------------: |:-----: |
| *YOLOv8-n | 640 | 16 | 500e | - | 36.6 | - | 3.4 | 12.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov8_seg_n_500e_coco.pdparams) | [配置文件](./yolov8_seg_n_500e_coco.yml) |
| *YOLOv8-s | 640 | 16 | 500e | - | 44.6 | - | 11.8 | 42.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov8_seg_s_500e_coco.pdparams) | [配置文件](./yolov8_seg_s_500e_coco.yml) |
| *YOLOv8-m | 640 | 16 | 500e | - | 49.7 | - | 27.3 | 110.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov8_seg_m_500e_coco.pdparams) | [配置文件](./yolov8_seg_m_500e_coco.yml) |
| *YOLOv8-l | 640 | 16 | 500e | - | 52.1 | - | 46.0 | 220.5 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov8_seg_l_500e_coco.pdparams) | [配置文件](./yolov8_seg_l_500e_coco.yml) |
| *YOLOv8-x | 640 | 16 | 500e | - | 53.4 | - | 71.8 | 344.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov8_seg_x_500e_coco.pdparams) | [配置文件](./yolov8_seg_x_500e_coco.yml) |
epoch: 100
LearningRate:
base_lr: 0.01
schedulers:
- !YOLOv5LRDecay
max_epochs: 100
min_lr_ratio: 0.01
- !ExpWarmup
epochs: 3
OptimizerBuilder:
optimizer:
type: Momentum
momentum: 0.937
use_nesterov: True
regularizer:
factor: 0.0005
type: L2
clip_grad_by_value: 10.
epoch: 500
LearningRate:
base_lr: 0.01
schedulers:
- !YOLOv5LRDecay
max_epochs: 500
min_lr_ratio: 0.01
- !ExpWarmup
epochs: 3
OptimizerBuilder:
optimizer:
type: Momentum
momentum: 0.937
use_nesterov: True
regularizer:
factor: 0.0005
type: L2
clip_grad_by_value: 10.
epoch: 500
LearningRate:
base_lr: 0.01
schedulers:
- !YOLOv5LRDecay
max_epochs: 500
min_lr_ratio: 0.1 #
- !ExpWarmup
epochs: 3
OptimizerBuilder:
optimizer:
type: Momentum
momentum: 0.937
use_nesterov: True
regularizer:
factor: 0.0005
type: L2
clip_grad_by_value: 10.
architecture: YOLOv8
norm_type: sync_bn
use_ema: True
ema_decay: 0.9999
ema_decay_type: "exponential"
act: silu
find_unused_parameters: True
with_mask: True
depth_mult: 1.0 # default: L version
width_mult: 1.0
YOLOv8:
backbone: YOLOv8CSPDarkNet
neck: YOLOv8CSPPAN
yolo_head: YOLOv8InsHead
with_mask: True
post_process: ~
YOLOv8CSPDarkNet:
arch: 'P5'
return_idx: [2, 3, 4]
last_stage_ch: 1024
last2_stage_ch: 512
# use default config
# YOLOv8CSPPAN:
YOLOv8InsHead:
fpn_strides: [8, 16, 32]
loss_weight: {class: 0.5, iou: 7.5, dfl: 1.5}
assigner:
name: TaskAlignedAssigner
topk: 10
alpha: 0.5
beta: 6.0
nms:
name: MultiClassNMS
nms_top_k: 3000
keep_top_k: 300
score_threshold: 0.001
nms_threshold: 0.7
return_index: True
input_height: &input_height 640
input_width: &input_width 640
input_size: &input_size [*input_height, *input_width]
mosaic_epoch: &mosaic_epoch 490 # last 10 epochs close mosaic, totally 500 epochs as default
worker_num: 4
TrainReader:
sample_transforms:
- DecodeNormResizeMask: {target_size: *input_size, mosaic: True}
- MosaicPerspective: {mosaic_prob: 0.0, target_size: *input_size, with_mask: True}
- Poly2Mask: {del_poly: True}
- RandomHSV: {hgain: 0.015, sgain: 0.7, vgain: 0.4}
- RandomFlip: {}
batch_transforms:
- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
- Permute: {}
- PadGT: {}
batch_size: 8
shuffle: True
drop_last: False
use_shared_memory: True
collate_batch: False
mosaic_epoch: *mosaic_epoch
EvalReader:
sample_transforms:
- Decode: {}
- Resize: {target_size: *input_size, keep_ratio: True, interp: 1}
- Pad: {size: *input_size, fill_value: [114., 114., 114.]}
- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
- Permute: {}
batch_size: 1
TestReader:
inputs_def:
image_shape: [3, 640, 640]
sample_transforms:
- Decode: {}
- Resize: {target_size: *input_size, keep_ratio: True, interp: 1}
- Pad: {size: *input_size, fill_value: [114., 114., 114.]}
- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
- Permute: {}
batch_size: 1
fuse_normalize: False
input_height: &input_height 640
input_width: &input_width 640
input_size: &input_size [*input_height, *input_width]
mosaic_epoch: &mosaic_epoch 490 # last 10 epochs close mosaic, totally 500 epochs as default
worker_num: 4
TrainReader:
sample_transforms:
- DecodeNormResizeMask: {target_size: *input_size, mosaic: True}
- MosaicPerspective: {mosaic_prob: 0.0, target_size: *input_size, scale: 0.9, mixup_prob: 0.1, copy_paste_prob: 0.1, with_mask: True}
- Poly2Mask: {del_poly: True}
- RandomHSV: {hgain: 0.015, sgain: 0.7, vgain: 0.4}
- RandomFlip: {}
batch_transforms:
- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
- Permute: {}
- PadGT: {}
batch_size: 8
shuffle: True
drop_last: False
use_shared_memory: True
collate_batch: False
mosaic_epoch: *mosaic_epoch
EvalReader:
sample_transforms:
- Decode: {}
- Resize: {target_size: *input_size, keep_ratio: True, interp: 1}
- Pad: {size: *input_size, fill_value: [114., 114., 114.]}
- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
- Permute: {}
batch_size: 1
TestReader:
inputs_def:
image_shape: [3, 640, 640]
sample_transforms:
- Decode: {}
- Resize: {target_size: *input_size, keep_ratio: True, interp: 1}
- Pad: {size: *input_size, fill_value: [114., 114., 114.]}
- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
- Permute: {}
batch_size: 1
fuse_normalize: False
_BASE_: [
'../datasets/coco_instance.yml',
'../runtime.yml',
'_base_/optimizer_500e_high.yml',
'_base_/yolov8_seg_cspdarknet.yml',
'_base_/yolov8_seg_reader_high_aug.yml',
]
depth_mult: 1.0
width_mult: 1.0
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_seg_l_500e_coco/model_final
YOLOv8CSPDarkNet:
last_stage_ch: 512 # The actual channel is int(512 * width_mult), not int(1024 * width_mult) as in YOLOv5
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
EvalReader:
batch_size: 1
_BASE_: [
'../datasets/coco_instance.yml',
'../runtime.yml',
'_base_/optimizer_500e_high.yml',
'_base_/yolov8_seg_cspdarknet.yml',
'_base_/yolov8_seg_reader_high_aug.yml',
]
depth_mult: 0.67
width_mult: 0.75
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_seg_m_500e_coco/model_final
YOLOv8CSPDarkNet:
last_stage_ch: 768 # The actual channel is int(768 * width_mult), not int(1024 * width_mult) as in YOLOv5
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
EvalReader:
batch_size: 1
_BASE_: [
'../datasets/coco_instance.yml',
'../runtime.yml',
'_base_/optimizer_100e.yml',
'_base_/yolov8_seg_cspdarknet.yml',
'_base_/yolov8_seg_reader.yml',
]
depth_mult: 0.33
width_mult: 0.25
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_seg_n_500e_coco/model_final
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
EvalReader:
batch_size: 1
_BASE_: [
'../datasets/coco_instance.yml',
'../runtime.yml',
'_base_/optimizer_500e.yml',
'_base_/yolov8_seg_cspdarknet.yml',
'_base_/yolov8_seg_reader.yml',
]
depth_mult: 0.33
width_mult: 0.50
log_iter: 50
snapshot_epoch: 10
weights: output/yolov8_seg_s_500e_coco/model_final
TrainReader:
batch_size: 16 # default 8 gpus, total bs = 128
EvalReader:
batch_size: 1
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment