更换文档检测模型
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
weights: output/picodet_l_1024_coco_lcnet_battery/model_final
|
||||
pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams
|
||||
|
||||
worker_num: 2
|
||||
eval_height: &eval_height 1024
|
||||
eval_width: &eval_width 1024
|
||||
eval_size: &eval_size [*eval_height, *eval_width]
|
||||
|
||||
metric: COCO
|
||||
num_classes: 45
|
||||
|
||||
TrainDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: annotations/train.json
|
||||
dataset_dir: dataset/battery_mini
|
||||
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
|
||||
|
||||
EvalDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: annotations/test.json
|
||||
dataset_dir: dataset/battery_mini
|
||||
|
||||
TestDataset:
|
||||
!ImageFolder
|
||||
anno_path: annotations/test.json
|
||||
dataset_dir: dataset/battery_mini
|
||||
|
||||
epoch: 50
|
||||
LearningRate:
|
||||
base_lr: 0.006
|
||||
schedulers:
|
||||
- !CosineDecay
|
||||
max_epochs: 50
|
||||
- !LinearWarmup
|
||||
start_factor: 0.001
|
||||
steps: 300
|
||||
|
||||
TrainReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- RandomCrop: {}
|
||||
- RandomFlip: {prob: 0.5}
|
||||
- RandomDistort: {}
|
||||
batch_transforms:
|
||||
- BatchRandomResize: {target_size: [960, 992, 1024, 1056, 1088], random_size: True, random_interp: True, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
- PadGT: {}
|
||||
batch_size: 8
|
||||
shuffle: true
|
||||
drop_last: true
|
||||
|
||||
|
||||
EvalReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_transforms:
|
||||
- PadBatch: {pad_to_stride: 32}
|
||||
batch_size: 8
|
||||
shuffle: false
|
||||
|
||||
|
||||
TestReader:
|
||||
inputs_def:
|
||||
image_shape: [1, 3, *eval_height, *eval_width]
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_size: 1
|
||||
|
||||
|
||||
use_gpu: true
|
||||
use_xpu: false
|
||||
log_iter: 100
|
||||
save_dir: output
|
||||
snapshot_epoch: 10
|
||||
print_flops: false
|
||||
find_unused_parameters: True
|
||||
use_ema: true
|
||||
|
||||
|
||||
# Exporting the model
|
||||
export:
|
||||
post_process: True # Whether post-processing is included in the network when export model.
|
||||
nms: True # Whether NMS is included in the network when export model.
|
||||
benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported.
|
||||
|
||||
OptimizerBuilder:
|
||||
optimizer:
|
||||
momentum: 0.9
|
||||
type: Momentum
|
||||
regularizer:
|
||||
factor: 0.00004
|
||||
type: L2
|
||||
|
||||
architecture: PicoDet
|
||||
|
||||
PicoDet:
|
||||
backbone: LCNet
|
||||
neck: LCPAN
|
||||
head: PicoHeadV2
|
||||
|
||||
LCNet:
|
||||
scale: 2.0
|
||||
feature_maps: [3, 4, 5]
|
||||
|
||||
LCPAN:
|
||||
out_channels: 160
|
||||
use_depthwise: True
|
||||
num_features: 4
|
||||
|
||||
PicoHeadV2:
|
||||
conv_feat:
|
||||
name: PicoFeat
|
||||
feat_in: 160
|
||||
feat_out: 160
|
||||
num_convs: 4
|
||||
num_fpn_stride: 4
|
||||
norm_type: bn
|
||||
share_cls_reg: True
|
||||
use_se: True
|
||||
fpn_stride: [8, 16, 32, 64]
|
||||
feat_in_chan: 160
|
||||
prior_prob: 0.01
|
||||
reg_max: 7
|
||||
cell_offset: 0.5
|
||||
grid_cell_scale: 5.0
|
||||
static_assigner_epoch: 100
|
||||
use_align_head: True
|
||||
static_assigner:
|
||||
name: ATSSAssigner
|
||||
topk: 9
|
||||
force_gt_matching: False
|
||||
assigner:
|
||||
name: TaskAlignedAssigner
|
||||
topk: 13
|
||||
alpha: 1.0
|
||||
beta: 6.0
|
||||
loss_class:
|
||||
name: VarifocalLoss
|
||||
use_sigmoid: False
|
||||
iou_weighted: True
|
||||
loss_weight: 1.0
|
||||
loss_dfl:
|
||||
name: DistributionFocalLoss
|
||||
loss_weight: 0.5
|
||||
loss_bbox:
|
||||
name: GIoULoss
|
||||
loss_weight: 2.5
|
||||
nms:
|
||||
name: MultiClassNMS
|
||||
nms_top_k: 1000
|
||||
keep_top_k: 100
|
||||
score_threshold: 0.025
|
||||
nms_threshold: 0.6
|
||||
@@ -0,0 +1,162 @@
|
||||
weights: output/picodet_l_1024_coco_lcnet_lvjian1/model_final
|
||||
pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams
|
||||
|
||||
worker_num: 2
|
||||
eval_height: &eval_height 1024
|
||||
eval_width: &eval_width 1024
|
||||
eval_size: &eval_size [*eval_height, *eval_width]
|
||||
|
||||
metric: COCO
|
||||
num_classes: 5
|
||||
|
||||
TrainDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: train.json
|
||||
dataset_dir: dataset/slice_lvjian1_data/train
|
||||
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
|
||||
|
||||
EvalDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: val.json
|
||||
dataset_dir: dataset/slice_lvjian1_data/eval
|
||||
|
||||
TestDataset:
|
||||
!ImageFolder
|
||||
anno_path: val.json
|
||||
dataset_dir: dataset/slice_lvjian1_data/eval
|
||||
|
||||
epoch: 50
|
||||
LearningRate:
|
||||
base_lr: 0.006
|
||||
schedulers:
|
||||
- !CosineDecay
|
||||
max_epochs: 50
|
||||
- !LinearWarmup
|
||||
start_factor: 0.001
|
||||
steps: 300
|
||||
|
||||
TrainReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- RandomCrop: {}
|
||||
- RandomFlip: {prob: 0.5}
|
||||
- RandomDistort: {}
|
||||
batch_transforms:
|
||||
- BatchRandomResize: {target_size: [960, 992, 1024, 1056, 1088], random_size: True, random_interp: True, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
- PadGT: {}
|
||||
batch_size: 8
|
||||
shuffle: true
|
||||
drop_last: true
|
||||
|
||||
|
||||
EvalReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_transforms:
|
||||
- PadBatch: {pad_to_stride: 32}
|
||||
batch_size: 8
|
||||
shuffle: false
|
||||
|
||||
|
||||
TestReader:
|
||||
inputs_def:
|
||||
image_shape: [1, 3, *eval_height, *eval_width]
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_size: 1
|
||||
|
||||
|
||||
use_gpu: true
|
||||
use_xpu: false
|
||||
log_iter: 100
|
||||
save_dir: output
|
||||
snapshot_epoch: 10
|
||||
print_flops: false
|
||||
find_unused_parameters: True
|
||||
use_ema: true
|
||||
|
||||
|
||||
# Exporting the model
|
||||
export:
|
||||
post_process: True # Whether post-processing is included in the network when export model.
|
||||
nms: True # Whether NMS is included in the network when export model.
|
||||
benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported.
|
||||
|
||||
OptimizerBuilder:
|
||||
optimizer:
|
||||
momentum: 0.9
|
||||
type: Momentum
|
||||
regularizer:
|
||||
factor: 0.00004
|
||||
type: L2
|
||||
|
||||
architecture: PicoDet
|
||||
|
||||
PicoDet:
|
||||
backbone: LCNet
|
||||
neck: LCPAN
|
||||
head: PicoHeadV2
|
||||
|
||||
LCNet:
|
||||
scale: 2.0
|
||||
feature_maps: [3, 4, 5]
|
||||
|
||||
LCPAN:
|
||||
out_channels: 160
|
||||
use_depthwise: True
|
||||
num_features: 4
|
||||
|
||||
PicoHeadV2:
|
||||
conv_feat:
|
||||
name: PicoFeat
|
||||
feat_in: 160
|
||||
feat_out: 160
|
||||
num_convs: 4
|
||||
num_fpn_stride: 4
|
||||
norm_type: bn
|
||||
share_cls_reg: True
|
||||
use_se: True
|
||||
fpn_stride: [8, 16, 32, 64]
|
||||
feat_in_chan: 160
|
||||
prior_prob: 0.01
|
||||
reg_max: 7
|
||||
cell_offset: 0.5
|
||||
grid_cell_scale: 5.0
|
||||
static_assigner_epoch: 100
|
||||
use_align_head: True
|
||||
static_assigner:
|
||||
name: ATSSAssigner
|
||||
topk: 9
|
||||
force_gt_matching: False
|
||||
assigner:
|
||||
name: TaskAlignedAssigner
|
||||
topk: 13
|
||||
alpha: 1.0
|
||||
beta: 6.0
|
||||
loss_class:
|
||||
name: VarifocalLoss
|
||||
use_sigmoid: False
|
||||
iou_weighted: True
|
||||
loss_weight: 1.0
|
||||
loss_dfl:
|
||||
name: DistributionFocalLoss
|
||||
loss_weight: 0.5
|
||||
loss_bbox:
|
||||
name: GIoULoss
|
||||
loss_weight: 2.5
|
||||
nms:
|
||||
name: MultiClassNMS
|
||||
nms_top_k: 1000
|
||||
keep_top_k: 100
|
||||
score_threshold: 0.025
|
||||
nms_threshold: 0.6
|
||||
@@ -0,0 +1,162 @@
|
||||
weights: output/picodet_l_1024_coco_lcnet_renche/model_final
|
||||
pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams
|
||||
|
||||
worker_num: 2
|
||||
eval_height: &eval_height 1024
|
||||
eval_width: &eval_width 1024
|
||||
eval_size: &eval_size [*eval_height, *eval_width]
|
||||
|
||||
metric: COCO
|
||||
num_classes: 22
|
||||
|
||||
TrainDataset:
|
||||
!COCODataSet
|
||||
image_dir: train_images
|
||||
anno_path: train.json
|
||||
dataset_dir: dataset/renche
|
||||
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
|
||||
|
||||
EvalDataset:
|
||||
!COCODataSet
|
||||
image_dir: train_images
|
||||
anno_path: test.json
|
||||
dataset_dir: dataset/renche
|
||||
|
||||
TestDataset:
|
||||
!ImageFolder
|
||||
anno_path: test.json
|
||||
dataset_dir: dataset/renche
|
||||
|
||||
epoch: 50
|
||||
LearningRate:
|
||||
base_lr: 0.006
|
||||
schedulers:
|
||||
- !CosineDecay
|
||||
max_epochs: 50
|
||||
- !LinearWarmup
|
||||
start_factor: 0.001
|
||||
steps: 300
|
||||
|
||||
TrainReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- RandomCrop: {}
|
||||
- RandomFlip: {prob: 0.5}
|
||||
- RandomDistort: {}
|
||||
batch_transforms:
|
||||
- BatchRandomResize: {target_size: [960, 992, 1024, 1056, 1088], random_size: True, random_interp: True, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
- PadGT: {}
|
||||
batch_size: 8
|
||||
shuffle: true
|
||||
drop_last: true
|
||||
|
||||
|
||||
EvalReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_transforms:
|
||||
- PadBatch: {pad_to_stride: 32}
|
||||
batch_size: 8
|
||||
shuffle: false
|
||||
|
||||
|
||||
TestReader:
|
||||
inputs_def:
|
||||
image_shape: [1, 3, *eval_height, *eval_width]
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_size: 1
|
||||
|
||||
|
||||
use_gpu: true
|
||||
use_xpu: false
|
||||
log_iter: 100
|
||||
save_dir: output
|
||||
snapshot_epoch: 10
|
||||
print_flops: false
|
||||
find_unused_parameters: True
|
||||
use_ema: true
|
||||
|
||||
|
||||
# Exporting the model
|
||||
export:
|
||||
post_process: True # Whether post-processing is included in the network when export model.
|
||||
nms: True # Whether NMS is included in the network when export model.
|
||||
benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported.
|
||||
|
||||
OptimizerBuilder:
|
||||
optimizer:
|
||||
momentum: 0.9
|
||||
type: Momentum
|
||||
regularizer:
|
||||
factor: 0.00004
|
||||
type: L2
|
||||
|
||||
architecture: PicoDet
|
||||
|
||||
PicoDet:
|
||||
backbone: LCNet
|
||||
neck: LCPAN
|
||||
head: PicoHeadV2
|
||||
|
||||
LCNet:
|
||||
scale: 2.0
|
||||
feature_maps: [3, 4, 5]
|
||||
|
||||
LCPAN:
|
||||
out_channels: 160
|
||||
use_depthwise: True
|
||||
num_features: 4
|
||||
|
||||
PicoHeadV2:
|
||||
conv_feat:
|
||||
name: PicoFeat
|
||||
feat_in: 160
|
||||
feat_out: 160
|
||||
num_convs: 4
|
||||
num_fpn_stride: 4
|
||||
norm_type: bn
|
||||
share_cls_reg: True
|
||||
use_se: True
|
||||
fpn_stride: [8, 16, 32, 64]
|
||||
feat_in_chan: 160
|
||||
prior_prob: 0.01
|
||||
reg_max: 7
|
||||
cell_offset: 0.5
|
||||
grid_cell_scale: 5.0
|
||||
static_assigner_epoch: 100
|
||||
use_align_head: True
|
||||
static_assigner:
|
||||
name: ATSSAssigner
|
||||
topk: 9
|
||||
force_gt_matching: False
|
||||
assigner:
|
||||
name: TaskAlignedAssigner
|
||||
topk: 13
|
||||
alpha: 1.0
|
||||
beta: 6.0
|
||||
loss_class:
|
||||
name: VarifocalLoss
|
||||
use_sigmoid: False
|
||||
iou_weighted: True
|
||||
loss_weight: 1.0
|
||||
loss_dfl:
|
||||
name: DistributionFocalLoss
|
||||
loss_weight: 0.5
|
||||
loss_bbox:
|
||||
name: GIoULoss
|
||||
loss_weight: 2.5
|
||||
nms:
|
||||
name: MultiClassNMS
|
||||
nms_top_k: 1000
|
||||
keep_top_k: 100
|
||||
score_threshold: 0.025
|
||||
nms_threshold: 0.6
|
||||
@@ -0,0 +1,162 @@
|
||||
weights: output/picodet_l_640_coco_lcnet_battery/model_final
|
||||
pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams
|
||||
|
||||
worker_num: 2
|
||||
eval_height: &eval_height 640
|
||||
eval_width: &eval_width 640
|
||||
eval_size: &eval_size [*eval_height, *eval_width]
|
||||
|
||||
metric: COCO
|
||||
num_classes: 45
|
||||
|
||||
TrainDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: annotations/train.json
|
||||
dataset_dir: dataset/battery_mini
|
||||
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
|
||||
|
||||
EvalDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: annotations/test.json
|
||||
dataset_dir: dataset/battery_mini
|
||||
|
||||
TestDataset:
|
||||
!ImageFolder
|
||||
anno_path: annotations/test.json
|
||||
dataset_dir: dataset/battery_mini
|
||||
|
||||
epoch: 50
|
||||
LearningRate:
|
||||
base_lr: 0.006
|
||||
schedulers:
|
||||
- !CosineDecay
|
||||
max_epochs: 50
|
||||
- !LinearWarmup
|
||||
start_factor: 0.001
|
||||
steps: 300
|
||||
|
||||
TrainReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- RandomCrop: {}
|
||||
- RandomFlip: {prob: 0.5}
|
||||
- RandomDistort: {}
|
||||
batch_transforms:
|
||||
- BatchRandomResize: {target_size: [576, 608, 640, 672, 704], random_size: True, random_interp: True, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
- PadGT: {}
|
||||
batch_size: 8
|
||||
shuffle: true
|
||||
drop_last: true
|
||||
|
||||
|
||||
EvalReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_transforms:
|
||||
- PadBatch: {pad_to_stride: 32}
|
||||
batch_size: 8
|
||||
shuffle: false
|
||||
|
||||
|
||||
TestReader:
|
||||
inputs_def:
|
||||
image_shape: [1, 3, *eval_height, *eval_width]
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_size: 1
|
||||
|
||||
|
||||
use_gpu: true
|
||||
use_xpu: false
|
||||
log_iter: 100
|
||||
save_dir: output
|
||||
snapshot_epoch: 10
|
||||
print_flops: false
|
||||
find_unused_parameters: True
|
||||
use_ema: true
|
||||
|
||||
|
||||
# Exporting the model
|
||||
export:
|
||||
post_process: True # Whether post-processing is included in the network when export model.
|
||||
nms: True # Whether NMS is included in the network when export model.
|
||||
benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported.
|
||||
|
||||
OptimizerBuilder:
|
||||
optimizer:
|
||||
momentum: 0.9
|
||||
type: Momentum
|
||||
regularizer:
|
||||
factor: 0.00004
|
||||
type: L2
|
||||
|
||||
architecture: PicoDet
|
||||
|
||||
PicoDet:
|
||||
backbone: LCNet
|
||||
neck: LCPAN
|
||||
head: PicoHeadV2
|
||||
|
||||
LCNet:
|
||||
scale: 2.0
|
||||
feature_maps: [3, 4, 5]
|
||||
|
||||
LCPAN:
|
||||
out_channels: 160
|
||||
use_depthwise: True
|
||||
num_features: 4
|
||||
|
||||
PicoHeadV2:
|
||||
conv_feat:
|
||||
name: PicoFeat
|
||||
feat_in: 160
|
||||
feat_out: 160
|
||||
num_convs: 4
|
||||
num_fpn_stride: 4
|
||||
norm_type: bn
|
||||
share_cls_reg: True
|
||||
use_se: True
|
||||
fpn_stride: [8, 16, 32, 64]
|
||||
feat_in_chan: 160
|
||||
prior_prob: 0.01
|
||||
reg_max: 7
|
||||
cell_offset: 0.5
|
||||
grid_cell_scale: 5.0
|
||||
static_assigner_epoch: 100
|
||||
use_align_head: True
|
||||
static_assigner:
|
||||
name: ATSSAssigner
|
||||
topk: 9
|
||||
force_gt_matching: False
|
||||
assigner:
|
||||
name: TaskAlignedAssigner
|
||||
topk: 13
|
||||
alpha: 1.0
|
||||
beta: 6.0
|
||||
loss_class:
|
||||
name: VarifocalLoss
|
||||
use_sigmoid: False
|
||||
iou_weighted: True
|
||||
loss_weight: 1.0
|
||||
loss_dfl:
|
||||
name: DistributionFocalLoss
|
||||
loss_weight: 0.5
|
||||
loss_bbox:
|
||||
name: GIoULoss
|
||||
loss_weight: 2.5
|
||||
nms:
|
||||
name: MultiClassNMS
|
||||
nms_top_k: 1000
|
||||
keep_top_k: 100
|
||||
score_threshold: 0.025
|
||||
nms_threshold: 0.6
|
||||
@@ -0,0 +1,162 @@
|
||||
weights: output/picodet_l_640_coco_lcnet_lvjian1/model_final
|
||||
pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams
|
||||
|
||||
worker_num: 2
|
||||
eval_height: &eval_height 640
|
||||
eval_width: &eval_width 640
|
||||
eval_size: &eval_size [*eval_height, *eval_width]
|
||||
|
||||
metric: COCO
|
||||
num_classes: 5
|
||||
|
||||
TrainDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: train.json
|
||||
dataset_dir: /paddle/dataset/model-select/gongye/lvjian1/slice_lvjian1_data/train/
|
||||
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
|
||||
|
||||
EvalDataset:
|
||||
!COCODataSet
|
||||
image_dir: images
|
||||
anno_path: val.json
|
||||
dataset_dir: /paddle/dataset/model-select/gongye/lvjian1/slice_lvjian1_data/eval/
|
||||
|
||||
TestDataset:
|
||||
!ImageFolder
|
||||
anno_path: val.json
|
||||
dataset_dir: dataset/slice_lvjian1_data/eval
|
||||
|
||||
epoch: 50
|
||||
LearningRate:
|
||||
base_lr: 0.006
|
||||
schedulers:
|
||||
- !CosineDecay
|
||||
max_epochs: 50
|
||||
- !LinearWarmup
|
||||
start_factor: 0.001
|
||||
steps: 300
|
||||
|
||||
TrainReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- RandomCrop: {}
|
||||
- RandomFlip: {prob: 0.5}
|
||||
- RandomDistort: {}
|
||||
batch_transforms:
|
||||
- BatchRandomResize: {target_size: [576, 608, 640, 672, 704], random_size: True, random_interp: True, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
- PadGT: {}
|
||||
batch_size: 8
|
||||
shuffle: true
|
||||
drop_last: true
|
||||
|
||||
|
||||
EvalReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_transforms:
|
||||
- PadBatch: {pad_to_stride: 32}
|
||||
batch_size: 8
|
||||
shuffle: false
|
||||
|
||||
|
||||
TestReader:
|
||||
inputs_def:
|
||||
image_shape: [1, 3, *eval_height, *eval_width]
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_size: 1
|
||||
|
||||
|
||||
use_gpu: true
|
||||
use_xpu: false
|
||||
log_iter: 100
|
||||
save_dir: output
|
||||
snapshot_epoch: 10
|
||||
print_flops: false
|
||||
find_unused_parameters: True
|
||||
use_ema: true
|
||||
|
||||
|
||||
# Exporting the model
|
||||
export:
|
||||
post_process: True # Whether post-processing is included in the network when export model.
|
||||
nms: True # Whether NMS is included in the network when export model.
|
||||
benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported.
|
||||
|
||||
OptimizerBuilder:
|
||||
optimizer:
|
||||
momentum: 0.9
|
||||
type: Momentum
|
||||
regularizer:
|
||||
factor: 0.00004
|
||||
type: L2
|
||||
|
||||
architecture: PicoDet
|
||||
|
||||
PicoDet:
|
||||
backbone: LCNet
|
||||
neck: LCPAN
|
||||
head: PicoHeadV2
|
||||
|
||||
LCNet:
|
||||
scale: 2.0
|
||||
feature_maps: [3, 4, 5]
|
||||
|
||||
LCPAN:
|
||||
out_channels: 160
|
||||
use_depthwise: True
|
||||
num_features: 4
|
||||
|
||||
PicoHeadV2:
|
||||
conv_feat:
|
||||
name: PicoFeat
|
||||
feat_in: 160
|
||||
feat_out: 160
|
||||
num_convs: 4
|
||||
num_fpn_stride: 4
|
||||
norm_type: bn
|
||||
share_cls_reg: True
|
||||
use_se: True
|
||||
fpn_stride: [8, 16, 32, 64]
|
||||
feat_in_chan: 160
|
||||
prior_prob: 0.01
|
||||
reg_max: 7
|
||||
cell_offset: 0.5
|
||||
grid_cell_scale: 5.0
|
||||
static_assigner_epoch: 100
|
||||
use_align_head: True
|
||||
static_assigner:
|
||||
name: ATSSAssigner
|
||||
topk: 9
|
||||
force_gt_matching: False
|
||||
assigner:
|
||||
name: TaskAlignedAssigner
|
||||
topk: 13
|
||||
alpha: 1.0
|
||||
beta: 6.0
|
||||
loss_class:
|
||||
name: VarifocalLoss
|
||||
use_sigmoid: False
|
||||
iou_weighted: True
|
||||
loss_weight: 1.0
|
||||
loss_dfl:
|
||||
name: DistributionFocalLoss
|
||||
loss_weight: 0.5
|
||||
loss_bbox:
|
||||
name: GIoULoss
|
||||
loss_weight: 2.5
|
||||
nms:
|
||||
name: MultiClassNMS
|
||||
nms_top_k: 1000
|
||||
keep_top_k: 100
|
||||
score_threshold: 0.025
|
||||
nms_threshold: 0.6
|
||||
@@ -0,0 +1,162 @@
|
||||
weights: output/picodet_l_640_coco_lcnet_renche/model_final
|
||||
pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams
|
||||
|
||||
worker_num: 2
|
||||
eval_height: &eval_height 640
|
||||
eval_width: &eval_width 640
|
||||
eval_size: &eval_size [*eval_height, *eval_width]
|
||||
|
||||
metric: COCO
|
||||
num_classes: 22
|
||||
|
||||
TrainDataset:
|
||||
!COCODataSet
|
||||
image_dir: train_images
|
||||
anno_path: train.json
|
||||
dataset_dir: dataset/renche
|
||||
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
|
||||
|
||||
EvalDataset:
|
||||
!COCODataSet
|
||||
image_dir: train_images
|
||||
anno_path: test.json
|
||||
dataset_dir: dataset/renche
|
||||
|
||||
TestDataset:
|
||||
!ImageFolder
|
||||
anno_path: test.json
|
||||
dataset_dir: dataset/renche
|
||||
|
||||
epoch: 50
|
||||
LearningRate:
|
||||
base_lr: 0.006
|
||||
schedulers:
|
||||
- !CosineDecay
|
||||
max_epochs: 50
|
||||
- !LinearWarmup
|
||||
start_factor: 0.001
|
||||
steps: 300
|
||||
|
||||
TrainReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- RandomCrop: {}
|
||||
- RandomFlip: {prob: 0.5}
|
||||
- RandomDistort: {}
|
||||
batch_transforms:
|
||||
- BatchRandomResize: {target_size: [576, 608, 640, 672, 704], random_size: True, random_interp: True, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
- PadGT: {}
|
||||
batch_size: 8
|
||||
shuffle: true
|
||||
drop_last: true
|
||||
|
||||
|
||||
EvalReader:
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_transforms:
|
||||
- PadBatch: {pad_to_stride: 32}
|
||||
batch_size: 8
|
||||
shuffle: false
|
||||
|
||||
|
||||
TestReader:
|
||||
inputs_def:
|
||||
image_shape: [1, 3, *eval_height, *eval_width]
|
||||
sample_transforms:
|
||||
- Decode: {}
|
||||
- Resize: {interp: 2, target_size: *eval_size, keep_ratio: False}
|
||||
- NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
|
||||
- Permute: {}
|
||||
batch_size: 1
|
||||
|
||||
|
||||
use_gpu: true
|
||||
use_xpu: false
|
||||
log_iter: 100
|
||||
save_dir: output
|
||||
snapshot_epoch: 10
|
||||
print_flops: false
|
||||
find_unused_parameters: True
|
||||
use_ema: true
|
||||
|
||||
|
||||
# Exporting the model
|
||||
export:
|
||||
post_process: True # Whether post-processing is included in the network when export model.
|
||||
nms: True # Whether NMS is included in the network when export model.
|
||||
benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported.
|
||||
|
||||
OptimizerBuilder:
|
||||
optimizer:
|
||||
momentum: 0.9
|
||||
type: Momentum
|
||||
regularizer:
|
||||
factor: 0.00004
|
||||
type: L2
|
||||
|
||||
architecture: PicoDet
|
||||
|
||||
PicoDet:
|
||||
backbone: LCNet
|
||||
neck: LCPAN
|
||||
head: PicoHeadV2
|
||||
|
||||
LCNet:
|
||||
scale: 2.0
|
||||
feature_maps: [3, 4, 5]
|
||||
|
||||
LCPAN:
|
||||
out_channels: 160
|
||||
use_depthwise: True
|
||||
num_features: 4
|
||||
|
||||
PicoHeadV2:
|
||||
conv_feat:
|
||||
name: PicoFeat
|
||||
feat_in: 160
|
||||
feat_out: 160
|
||||
num_convs: 4
|
||||
num_fpn_stride: 4
|
||||
norm_type: bn
|
||||
share_cls_reg: True
|
||||
use_se: True
|
||||
fpn_stride: [8, 16, 32, 64]
|
||||
feat_in_chan: 160
|
||||
prior_prob: 0.01
|
||||
reg_max: 7
|
||||
cell_offset: 0.5
|
||||
grid_cell_scale: 5.0
|
||||
static_assigner_epoch: 100
|
||||
use_align_head: True
|
||||
static_assigner:
|
||||
name: ATSSAssigner
|
||||
topk: 9
|
||||
force_gt_matching: False
|
||||
assigner:
|
||||
name: TaskAlignedAssigner
|
||||
topk: 13
|
||||
alpha: 1.0
|
||||
beta: 6.0
|
||||
loss_class:
|
||||
name: VarifocalLoss
|
||||
use_sigmoid: False
|
||||
iou_weighted: True
|
||||
loss_weight: 1.0
|
||||
loss_dfl:
|
||||
name: DistributionFocalLoss
|
||||
loss_weight: 0.5
|
||||
loss_bbox:
|
||||
name: GIoULoss
|
||||
loss_weight: 2.5
|
||||
nms:
|
||||
name: MultiClassNMS
|
||||
nms_top_k: 1000
|
||||
keep_top_k: 100
|
||||
score_threshold: 0.025
|
||||
nms_threshold: 0.6
|
||||
Reference in New Issue
Block a user