# Runtime epoch: 50 log_iter: 1 find_unused_parameters: true use_gpu: true use_xpu: false use_mlu: false use_npu: false use_ema: true save_dir: output snapshot_epoch: 1 cycle_epoch: 10 print_flops: false print_params: false # Dataset metric: COCO num_classes: 1 worker_num: 8 TrainDataset: name: COCODetDataset image_dir: images anno_path: annotations/instance_train.json dataset_dir: datasets/COCO data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] EvalDataset: name: COCODetDataset image_dir: images anno_path: annotations/instance_val.json dataset_dir: datasets/COCO allow_empty: true TestDataset: name: ImageFolder anno_path: annotations/instance_val.json dataset_dir: datasets/COCO TrainReader: sample_transforms: - Decode: {} - RandomCrop: {} - RandomFlip: {prob: 0.5} - RandomDistort: {} batch_transforms: - BatchRandomResize: {target_size: [[768, 576], [800, 608], [832, 640]], 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: {} batch_size: 24 shuffle: true drop_last: true collate_batch: false EvalReader: sample_transforms: - Decode: {} - Resize: {interp: 2, target_size: [800, 608], 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: [3, 800, 608] sample_transforms: - Decode: {} - Resize: {interp: 2, target_size: [800, 608], 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: 1 shuffle: false # Model architecture: PicoDet pretrain_weights: https://paddleocr.bj.bcebos.com/ppstructure/models/layout/picodet_lcnet_x1_0_fgd_layout.pdparams PicoDet: backbone: LCNet neck: CSPPAN head: PicoHead nms_cpu: true LCNet: scale: 1.0 feature_maps: [3, 4, 5] CSPPAN: out_channels: 128 use_depthwise: True num_csp_blocks: 1 num_features: 4 PicoHead: conv_feat: name: PicoFeat feat_in: 128 feat_out: 128 num_convs: 4 num_fpn_stride: 4 norm_type: bn share_cls_reg: True fpn_stride: [8, 16, 32, 64] feat_in_chan: 128 prior_prob: 0.01 reg_max: 7 cell_offset: 0.5 loss_class: name: VarifocalLoss use_sigmoid: True iou_weighted: True loss_weight: 1.0 loss_dfl: name: DistributionFocalLoss loss_weight: 0.25 loss_bbox: name: GIoULoss loss_weight: 2.0 assigner: name: SimOTAAssigner candidate_topk: 10 iou_weight: 6 nms: name: MultiClassNMS nms_top_k: 1000 keep_top_k: 100 score_threshold: 0.025 nms_threshold: 0.6 # Optimizer LearningRate: base_lr: 0.4 schedulers: - name: CosineDecay max_epochs: 100 - name: LinearWarmup start_factor: 0.1 steps: 100 OptimizerBuilder: optimizer: momentum: 0.9 type: Momentum regularizer: factor: 0.00004 type: L2 # Export export: post_process: true nms: true benchmark: false fuse_conv_bn: false