未验证 提交 8192c758 编写于 作者: Q qingqing01 提交者: GitHub

Polish reader to simplify preprocessing logic. (#112)

* Polish Reader to simplify preprocessing logic.
#  sample_transforms-> make batch -> batch_transforms in Reader.
* Clean some code
* Imporve yolov3_r50vd_dcn_obj365_pretrained_coco 41.4 to 41.8.
* Update all configs.
上级 9cd0d1ee
...@@ -11,17 +11,17 @@ ...@@ -11,17 +11,17 @@
- id: detect-private-key - id: detect-private-key
files: (?!.*paddle)^.*$ files: (?!.*paddle)^.*$
- id: end-of-file-fixer - id: end-of-file-fixer
files: \.md$ files: \.(md|yml)$
- id: trailing-whitespace - id: trailing-whitespace
files: \.md$ files: \.(md|yml)$
- repo: https://github.com/Lucas-C/pre-commit-hooks - repo: https://github.com/Lucas-C/pre-commit-hooks
sha: v1.0.1 sha: v1.0.1
hooks: hooks:
- id: forbid-crlf - id: forbid-crlf
files: \.md$ files: \.(md|yml)$
- id: remove-crlf - id: remove-crlf
files: \.md$ files: \.(md|yml)$
- id: forbid-tabs - id: forbid-tabs
files: \.md$ files: \.(md|yml)$
- id: remove-tabs - id: remove-tabs
files: \.md$ files: \.(md|yml)$
architecture: CascadeMaskRCNN architecture: CascadeMaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -86,7 +83,7 @@ MaskAssigner: ...@@ -86,7 +83,7 @@ MaskAssigner:
resolution: 28 resolution: 28
CascadeBBoxHead: CascadeBBoxHead:
head: CascadeTwoFCHead head: CascadeTwoFCHead
nms: nms:
keep_top_k: 100 keep_top_k: 100
nms_threshold: 0.5 nms_threshold: 0.5
...@@ -113,33 +110,4 @@ OptimizerBuilder: ...@@ -113,33 +110,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: CascadeRCNNClsAware architecture: CascadeRCNNClsAware
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -107,80 +104,6 @@ OptimizerBuilder: ...@@ -107,80 +104,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
sample_transforms:
- !DecodeImage
to_rgb: True
with_mixup: False
- !NormalizeImage
is_channel_first: false
is_scale: True
mean:
- 0.485
- 0.456
- 0.406
std:
- 0.229
- 0.224
- 0.225
- !ResizeImage
interp: 1
target_size:
- 800
max_size: 1333
use_cv2: true
- !Permute
to_bgr: false
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: True
with_mixup: False
- !NormalizeImage
is_channel_first: false
is_scale: True
mean:
- 0.485
- 0.456
- 0.406
std:
- 0.229
- 0.224
- 0.225
- !ResizeImage
interp: 1
target_size:
- 800
max_size: 1333
use_cv2: true
- !Permute
to_bgr: false
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
\ No newline at end of file
architecture: CascadeRCNN architecture: CascadeRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -104,34 +101,6 @@ OptimizerBuilder: ...@@ -104,34 +101,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: CascadeRCNN architecture: CascadeRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -111,23 +108,22 @@ OptimizerBuilder: ...@@ -111,23 +108,22 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed:
_READER_: 'faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
multi_scale: true
num_scales: 18
use_flip: true
dataset: dataset:
!COCODataSet
dataset_dir: dataset/coco dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json anno_path: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
...@@ -160,18 +156,6 @@ FasterRCNNEvalFeed: ...@@ -160,18 +156,6 @@ FasterRCNNEvalFeed:
- !Permute - !Permute
channel_first: true channel_first: true
to_bgr: false to_bgr: false
batch_transforms: - !PadMultiScaleTest
- !PadMSTest
pad_to_stride: 32
num_scale: 18
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32 pad_to_stride: 32
drop_last: false worker_num: 2
num_workers: 2
architecture: CascadeMaskRCNN architecture: CascadeMaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 300000 max_iters: 300000
snapshot_iter: 10 snapshot_iter: 10
use_gpu: true use_gpu: true
log_iter: 20 log_iter: 20
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/SENet154_vd_caffe_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/SENet154_vd_caffe_pretrained.tar
weights: output/cascade_mask_rcnn_dcn_se154_vd_fpn_gn_s1x/model_final/ weights: output/cascade_mask_rcnn_dcn_se154_vd_fpn_gn_s1x/model_final/
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
...@@ -96,7 +93,7 @@ MaskAssigner: ...@@ -96,7 +93,7 @@ MaskAssigner:
resolution: 28 resolution: 28
CascadeBBoxHead: CascadeBBoxHead:
head: CascadeXConvNormHead head: CascadeXConvNormHead
nms: nms:
keep_top_k: 100 keep_top_k: 100
nms_threshold: 0.5 nms_threshold: 0.5
...@@ -123,17 +120,19 @@ OptimizerBuilder: ...@@ -123,17 +120,19 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: TrainReader:
# batch size per device # batch size per device
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd', 'gt_mask']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/coco dataset_dir: dataset/coco
image_dir: train2017 image_dir: train2017
annotation: annotations/instances_train2017.json anno_path: annotations/instances_train2017.json
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: false
with_mixup: False
- !RandomFlipImage - !RandomFlipImage
is_mask_flip: true is_mask_flip: true
is_normalized: false is_normalized: false
...@@ -142,13 +141,13 @@ MaskRCNNTrainFeed: ...@@ -142,13 +141,13 @@ MaskRCNNTrainFeed:
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
mean: mean:
- 102.9801 - 102.9801
- 115.9465 - 115.9465
- 122.7717 - 122.7717
std: std:
- 1.0 - 1.0
- 1.0 - 1.0
- 1.0 - 1.0
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -161,7 +160,7 @@ MaskRCNNTrainFeed: ...@@ -161,7 +160,7 @@ MaskRCNNTrainFeed:
- 608 - 608
- 640 - 640
- 672 - 672
- 704 - 704
- 736 - 736
- 768 - 768
- 800 - 800
...@@ -192,29 +191,32 @@ MaskRCNNTrainFeed: ...@@ -192,29 +191,32 @@ MaskRCNNTrainFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
num_workers: 8 worker_num: 8
shuffle: true
MaskRCNNEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/coco dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json anno_path: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
with_mixup: False
- !NormalizeImage - !NormalizeImage
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
mean: mean:
- 102.9801 - 102.9801
- 115.9465 - 115.9465
- 122.7717 - 122.7717
std: std:
- 1.0 - 1.0
- 1.0 - 1.0
- 1.0 - 1.0
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -227,16 +229,20 @@ MaskRCNNEvalFeed: ...@@ -227,16 +229,20 @@ MaskRCNNEvalFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
num_workers: 2 worker_num: 2
drop_empty: false
MaskRCNNTestFeed: TestReader:
batch_size: 1 batch_size: 1
inputs_def:
image_shape: [3,800,1333]
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/coco/annotations/instances_val2017.json !ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
with_mixup: False
- !NormalizeImage - !NormalizeImage
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
...@@ -254,4 +260,4 @@ MaskRCNNTestFeed: ...@@ -254,4 +260,4 @@ MaskRCNNTestFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
num_workers: 2 worker_num: 2
architecture: CascadeMaskRCNN architecture: CascadeMaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 300000 max_iters: 300000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
log_iter: 20 log_iter: 20
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/SENet154_vd_caffe_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/SENet154_vd_caffe_pretrained.tar
weights: output/cascade_mask_rcnn_dcn_se154_vd_fpn_gn_s1x/model_final/ weights: output/cascade_mask_rcnn_dcn_se154_vd_fpn_gn_s1x/model_final/
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
...@@ -96,7 +93,7 @@ MaskAssigner: ...@@ -96,7 +93,7 @@ MaskAssigner:
resolution: 28 resolution: 28
CascadeBBoxHead: CascadeBBoxHead:
head: CascadeXConvNormHead head: CascadeXConvNormHead
nms: nms:
keep_top_k: 100 keep_top_k: 100
nms_threshold: 0.5 nms_threshold: 0.5
...@@ -130,14 +127,17 @@ OptimizerBuilder: ...@@ -130,14 +127,17 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: TrainReader:
# batch size per device # batch size per device
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd', 'gt_mask']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/coco dataset_dir: dataset/coco
image_dir: train2017 image_dir: train2017
annotation: annotations/instances_train2017.json anno_path: annotations/instances_train2017.json
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
with_mixup: False with_mixup: False
...@@ -149,13 +149,13 @@ MaskRCNNTrainFeed: ...@@ -149,13 +149,13 @@ MaskRCNNTrainFeed:
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
mean: mean:
- 102.9801 - 102.9801
- 115.9465 - 115.9465
- 122.7717 - 122.7717
std: std:
- 1.0 - 1.0
- 1.0 - 1.0
- 1.0 - 1.0
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -168,7 +168,7 @@ MaskRCNNTrainFeed: ...@@ -168,7 +168,7 @@ MaskRCNNTrainFeed:
- 608 - 608
- 640 - 640
- 672 - 672
- 704 - 704
- 736 - 736
- 768 - 768
- 800 - 800
...@@ -199,28 +199,36 @@ MaskRCNNTrainFeed: ...@@ -199,28 +199,36 @@ MaskRCNNTrainFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
num_workers: 8 worker_num: 8
shuffle: true
MaskRCNNEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
multi_scale: true
# num_scale = (len(target_size) + 1) * (1 + use_flip)
num_scales: 18
use_flip: true
dataset: dataset:
dataset_dir: dataset/coco !COCODataSet
annotation: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
sample_transforms: anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
- !NormalizeImage - !NormalizeImage
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
mean: mean:
- 102.9801 - 102.9801
- 115.9465 - 115.9465
- 122.7717 - 122.7717
std: std:
- 1.0 - 1.0
- 1.0 - 1.0
- 1.0 - 1.0
- !MultiscaleTestResize - !MultiscaleTestResize
origin_target_size: 800 origin_target_size: 800
origin_max_size: 1333 origin_max_size: 1333
...@@ -239,16 +247,17 @@ MaskRCNNEvalFeed: ...@@ -239,16 +247,17 @@ MaskRCNNEvalFeed:
channel_first: true channel_first: true
to_bgr: false to_bgr: false
batch_transforms: batch_transforms:
- !PadMSTest - !PadMultiScaleTest
pad_to_stride: 32 pad_to_stride: 32
# num_scale = (len(target_size) + 1) * (1 + use_flip) worker_num: 2
num_scale: 18
num_workers: 2
MaskRCNNTestFeed: TestReader:
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/coco/annotations/instances_val2017.json !ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
...@@ -269,4 +278,3 @@ MaskRCNNTestFeed: ...@@ -269,4 +278,3 @@ MaskRCNNTestFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
num_workers: 2
architecture: CascadeRCNN architecture: CascadeRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 460000 max_iters: 460000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -109,16 +106,18 @@ OptimizerBuilder: ...@@ -109,16 +106,18 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: TrainReader:
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset: dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json sample_transforms:
image_dir: train2017
sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: true
with_mixup: False
- !RandomFlipImage - !RandomFlipImage
prob: 0.5 prob: 0.5
- !NormalizeImage - !NormalizeImage
...@@ -131,7 +130,7 @@ FasterRCNNTrainFeed: ...@@ -131,7 +130,7 @@ FasterRCNNTrainFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408] target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408]
...@@ -142,16 +141,19 @@ FasterRCNNTrainFeed: ...@@ -142,16 +141,19 @@ FasterRCNNTrainFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
drop_last: false worker_num: 2
num_workers: 2 shuffle: true
FasterRCNNEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
dataset_dir: dataset/coco !COCODataSet
annotation: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
sample_transforms: anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False with_mixup: False
...@@ -165,7 +167,7 @@ FasterRCNNEvalFeed: ...@@ -165,7 +167,7 @@ FasterRCNNEvalFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -177,13 +179,34 @@ FasterRCNNEvalFeed: ...@@ -177,13 +179,34 @@ FasterRCNNEvalFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
worker_num: 2
FasterRCNNTestFeed: TestReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/coco/annotations/instances_val2017.json !ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
drop_last: false use_padded_im_info: true
num_workers: 2 batch_size: 1
worker_num: 2
architecture: CascadeRCNNClsAware architecture: CascadeRCNNClsAware
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 460000 max_iters: 460000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -109,16 +106,17 @@ OptimizerBuilder: ...@@ -109,16 +106,17 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: TrainReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset: dataset:
dataset_dir: dataset/coco !COCODataSet
annotation: annotations/instances_train2017.json
image_dir: train2017 image_dir: train2017
sample_transforms: anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: true
with_mixup: False
- !RandomFlipImage - !RandomFlipImage
prob: 0.5 prob: 0.5
- !NormalizeImage - !NormalizeImage
...@@ -131,7 +129,7 @@ FasterRCNNTrainFeed: ...@@ -131,7 +129,7 @@ FasterRCNNTrainFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408] target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408]
...@@ -142,16 +140,20 @@ FasterRCNNTrainFeed: ...@@ -142,16 +140,20 @@ FasterRCNNTrainFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
batch_size: 1
shuffle: true
drop_last: false drop_last: false
num_workers: 2 worker_num: 2
FasterRCNNEvalFeed: EvalReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
dataset_dir: dataset/coco !COCODataSet
annotation: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
sample_transforms: anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False with_mixup: False
...@@ -165,7 +167,7 @@ FasterRCNNEvalFeed: ...@@ -165,7 +167,7 @@ FasterRCNNEvalFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -177,13 +179,37 @@ FasterRCNNEvalFeed: ...@@ -177,13 +179,37 @@ FasterRCNNEvalFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1 batch_size: 1
worker_num: 2
drop_empty: false
TestReader:
inputs_def:
image_shape: [3,800,1333]
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/coco/annotations/instances_val2017.json !ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
drop_last: false use_padded_im_info: true
num_workers: 2 batch_size: 1
worker_num: 2
architecture: CascadeRCNN architecture: CascadeRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,34 +103,6 @@ OptimizerBuilder: ...@@ -106,34 +103,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: '../faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: CascadeRCNN architecture: CascadeRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,34 +103,6 @@ OptimizerBuilder: ...@@ -106,34 +103,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: '../faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: CascadeRCNN architecture: CascadeRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -26,7 +23,7 @@ ResNeXt: ...@@ -26,7 +23,7 @@ ResNeXt:
depth: 101 depth: 101
feature_maps: [2, 3, 4, 5] feature_maps: [2, 3, 4, 5]
freeze_at: 2 freeze_at: 2
group_width: 4 group_width: 4
groups: 64 groups: 64
variant: d variant: d
dcn_v2_stages: [3, 4, 5] dcn_v2_stages: [3, 4, 5]
...@@ -108,34 +105,6 @@ OptimizerBuilder: ...@@ -108,34 +105,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: '../faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,34 +103,7 @@ OptimizerBuilder: ...@@ -106,34 +103,7 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: '../faster_fpn_reader.yml'
TrainReader:
# batch size per device # batch size per device
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
use_gpu: true use_gpu: true
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -105,34 +102,8 @@ OptimizerBuilder: ...@@ -105,34 +102,8 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed:
batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed: _READER_: '../faster_fpn_reader.yml'
batch_size: 1 TrainReader:
dataset: # batch size per device
annotation: dataset/coco/annotations/instances_val2017.json batch_size: 2
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,34 +103,7 @@ OptimizerBuilder: ...@@ -106,34 +103,7 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: '../faster_fpn_reader.yml'
TrainReader:
# batch size per device # batch size per device
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -108,36 +105,5 @@ OptimizerBuilder: ...@@ -108,36 +105,5 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed:
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
shuffle: true
FasterRCNNEvalFeed: _READER_: '../faster_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
shuffle: false
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
log_smooth_window: 20 log_smooth_window: 20
log_iter: 20 log_iter: 20
save_dir: output save_dir: output
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet101_vd_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet101_vd_pretrained.tar
weights: output/mask_rcnn_dcn_r101_vd_fpn_1x/model_final weights: output/mask_rcnn_dcn_r101_vd_fpn_1x/model_final
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
...@@ -114,33 +111,4 @@ OptimizerBuilder: ...@@ -114,33 +111,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: '../mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -113,33 +110,5 @@ OptimizerBuilder: ...@@ -113,33 +110,5 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed: _READER_: '../mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -114,34 +111,4 @@ OptimizerBuilder: ...@@ -114,34 +111,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: '../mask_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
log_smooth_window: 20 log_smooth_window: 20
log_iter: 20 log_iter: 20
save_dir: output save_dir: output
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar
weights: output/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x/model_final weights: output/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x/model_final
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
...@@ -116,33 +113,4 @@ OptimizerBuilder: ...@@ -116,33 +113,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: '../mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 500000 max_iters: 500000
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
snapshot_iter: 20000 snapshot_iter: 20000
metric: COCO metric: COCO
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_pretrained.tar
weights: output/yolov3_r50vd_dcn/model_final weights: output/yolov3_r50vd_dcn/model_final
num_classes: 80 num_classes: 80
...@@ -62,67 +59,4 @@ OptimizerBuilder: ...@@ -62,67 +59,4 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: '../yolov3_reader.yml'
batch_size: 8
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
sample_transforms:
- !DecodeImage
to_rgb: True
with_mixup: True
- !MixupImage
alpha: 1.5
beta: 1.5
- !NormalizeBox {}
- !RandomDistort {}
- !ExpandImage
max_ratio: 4
prob: 0.5
mean:
- 123.675
- 116.28
- 103.53
- !CropImage
batch_sampler: [[1, 1, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.1, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.3, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.5, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.7, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.9, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.0, 1.0]]
- !RandomInterpImage
target_size: 608
- !RandomFlipImage
is_normalized: True
- !NormalizeImage
mean:
- 0.485
- 0.456
- 0.406
std:
- 0.229
- 0.224
- 0.225
is_scale: True
is_channel_first: False
- !Permute
to_bgr: False
num_workers: 8
bufsize: 128
use_process: true
YoloEvalFeed:
batch_size: 8
image_shape: [3, 608, 608]
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
YoloTestFeed:
batch_size: 1
image_shape: [3, 608, 608]
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 55000 max_iters: 55000
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
snapshot_iter: 10000 snapshot_iter: 10000
metric: COCO metric: COCO
pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/ResNet50_vd_obj365_pretrained.tar pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/ResNet50_vd_obj365_pretrained.tar
weights: output/yolov3_r50vd_dcn_obj365_pretrained_coco/model_final weights: output/yolov3_r50vd_dcn_obj365_pretrained_coco/model_final
num_classes: 80 num_classes: 80
...@@ -62,98 +59,97 @@ OptimizerBuilder: ...@@ -62,98 +59,97 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: TrainReader:
batch_size: 8 inputs_def:
fields: ['image', 'gt_bbox', 'gt_class', 'gt_score']
num_max_boxes: 50
dataset: dataset:
dataset_dir: dataset/coco !COCODataSet
annotation: annotations/instances_train2017.json
image_dir: train2017 image_dir: train2017
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
with_background: false
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False - !RandomCrop {}
- !NormalizeBox {}
- !CropImage
batch_sampler: [[1, 1, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.1, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.3, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.5, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.7, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.9, 1.0],
[1, 50, 0.3, 1.0, 0.5, 2.0, 0.0, 1.0]]
- !RandomInterpImage
target_size: 608
- !RandomFlipImage - !RandomFlipImage
is_normalized: True is_normalized: false
- !NormalizeBox {}
- !PadBox
num_max_boxes: 50
- !BboxXYXY2XYWH {}
batch_transforms:
- !RandomShape
sizes: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608]
random_inter: True
- !NormalizeImage - !NormalizeImage
mean: mean: [0.485, 0.456, 0.406]
- 0.485 std: [0.229, 0.224, 0.225]
- 0.456 is_scale: True
- 0.406 is_channel_first: false
std:
- 0.229
- 0.224
- 0.225
is_scale: False
is_channel_first: False
- !Permute - !Permute
to_bgr: False to_bgr: false
num_workers: 8 channel_first: True
bufsize: 128 batch_size: 8
shuffle: true
drop_last: true
worker_num: 8
bufsize: 32
use_process: true use_process: true
YoloEvalFeed: EvalReader:
batch_size: 8 inputs_def:
image_shape: [3, 608, 608] image_shape: [3, 608, 608]
fields: ['image', 'im_size', 'im_id']
num_max_boxes: 50
dataset: dataset:
!COCODataSet
dataset_dir: dataset/coco dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json anno_path: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
with_background: false
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False with_mixup: false
- !ResizeImage - !ResizeImage
interp: 2 interp: 2
target_size: 608 target_size: 608
- !NormalizeImage - !NormalizeImage
mean: mean: [0.485, 0.456, 0.406]
- 0.485 std: [0.229, 0.224, 0.225]
- 0.456 is_scale: True
- 0.406 is_channel_first: false
std:
- 0.229
- 0.224
- 0.225
is_scale: False
is_channel_first: False
- !Permute - !Permute
to_bgr: False to_bgr: false
channel_first: True
batch_size: 8
drop_empty: false
worker_num: 8
bufsize: 32
YoloTestFeed: TestReader:
batch_size: 1 inputs_def:
image_shape: [3, 608, 608] image_shape: [3, 608, 608]
fields: ['image', 'im_size', 'im_id']
dataset: dataset:
annotation: dataset/coco/annotations/instances_val2017.json !ImageFolder
anno_path: annotations/instances_val2017.json
with_background: false
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False with_mixup: false
- !ResizeImage - !ResizeImage
interp: 2 interp: 2
target_size: 608 target_size: 608
- !NormalizeImage - !NormalizeImage
mean: mean: [0.485, 0.456, 0.406]
- 0.485 std: [0.229, 0.224, 0.225]
- 0.456 is_scale: True
- 0.406 is_channel_first: false
std:
- 0.229
- 0.224
- 0.225
is_scale: False
is_channel_first: False
- !Permute - !Permute
to_bgr: False to_bgr: false
channel_first: True
batch_size: 1
architecture: BlazeFace architecture: BlazeFace
max_iters: 320000 max_iters: 320000
train_feed: SSDTrainFeed pretrain_weights:
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
pretrain_weights:
use_gpu: true use_gpu: true
snapshot_iter: 10000 snapshot_iter: 10000
log_smooth_window: 20 log_smooth_window: 20
...@@ -43,18 +40,18 @@ OptimizerBuilder: ...@@ -43,18 +40,18 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 inputs_def:
use_process: True image_shape: [3, 640, 640]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_train_bbx_gt.txt anno_path: wider_face_split/wider_face_train_bbx_gt.txt
image_dir: WIDER_train/images image_dir: WIDER_train/images
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {} - !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
...@@ -82,49 +79,41 @@ SSDTrainFeed: ...@@ -82,49 +79,41 @@ SSDTrainFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
batch_size: 8
use_process: true
shuffle: true
SSDEvalFeed: EvalReader:
batch_size: 1 inputs_def:
use_process: false fields: ['image', 'im_id']
fields: ['image', 'im_id', 'gt_box']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_val_bbx_gt.txt anno_path: wider_face_split/wider_face_val_bbx_gt.txt
image_dir: WIDER_val/images image_dir: WIDER_val/images
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {} - !NormalizeBox {}
- !ResizeImage
interp: 1
target_size: 640
use_cv2: false
- !Permute {} - !Permute {}
- !NormalizeImage - !NormalizeImage
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
SSDTestFeed:
batch_size: 1 batch_size: 1
use_process: false
TestReader:
inputs_def:
fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
!ImageFolder
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !ResizeImage
interp: 1
target_size: 640
use_cv2: false
- !Permute {} - !Permute {}
- !NormalizeImage - !NormalizeImage
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
batch_size: 1
architecture: BlazeFace architecture: BlazeFace
max_iters: 320000 max_iters: 320000
train_feed: SSDTrainFeed pretrain_weights:
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
pretrain_weights:
use_gpu: true use_gpu: true
snapshot_iter: 10000 snapshot_iter: 10000
log_smooth_window: 20 log_smooth_window: 20
...@@ -45,18 +42,18 @@ OptimizerBuilder: ...@@ -45,18 +42,18 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 inputs_def:
use_process: True image_shape: [3, 640, 640]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_train_bbx_gt.txt anno_path: wider_face_split/wider_face_train_bbx_gt.txt
image_dir: WIDER_train/images image_dir: WIDER_train/images
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {} - !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
...@@ -84,21 +81,21 @@ SSDTrainFeed: ...@@ -84,21 +81,21 @@ SSDTrainFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
batch_size: 8
use_process: true
shuffle: true
SSDEvalFeed: EvalReader:
batch_size: 1 inputs_def:
use_process: false fields: ['image', 'im_id']
fields: ['image', 'im_id', 'gt_box']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_val_bbx_gt.txt anno_path: wider_face_split/wider_face_val_bbx_gt.txt
image_dir: WIDER_val/images image_dir: WIDER_val/images
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {} - !NormalizeBox {}
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
...@@ -109,18 +106,18 @@ SSDEvalFeed: ...@@ -109,18 +106,18 @@ SSDEvalFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
SSDTestFeed:
batch_size: 1 batch_size: 1
use_process: false
TestReader:
inputs_def:
image_shape: [3,640,640]
fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
!ImageFolder
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: 640 target_size: 640
...@@ -130,3 +127,4 @@ SSDTestFeed: ...@@ -130,3 +127,4 @@ SSDTestFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
batch_size: 1
architecture: FaceBoxes architecture: FaceBoxes
train_feed: SSDTrainFeed
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
pretrain_weights: pretrain_weights:
use_gpu: true use_gpu: true
max_iters: 320000 max_iters: 320000
...@@ -43,18 +40,21 @@ OptimizerBuilder: ...@@ -43,18 +40,21 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 batch_size: 8
use_process: True use_process: True
shuffle: true
inputs_def:
image_shape: [3, 640, 640]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_train_bbx_gt.txt anno_path: wider_face_split/wider_face_train_bbx_gt.txt
image_dir: WIDER_train/images image_dir: WIDER_train/images
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {} - !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
...@@ -83,48 +83,37 @@ SSDTrainFeed: ...@@ -83,48 +83,37 @@ SSDTrainFeed:
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
SSDEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
use_process: false use_process: false
fields: ['image', 'im_id', 'gt_box'] inputs_def:
fields: ['image', 'im_id']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_val_bbx_gt.txt anno_path: wider_face_split/wider_face_val_bbx_gt.txt
image_dir: WIDER_val/images image_dir: WIDER_val/images
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {}
- !ResizeImage
interp: 1
target_size: 640
use_cv2: false
- !Permute {} - !Permute {}
- !NormalizeImage - !NormalizeImage
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
SSDTestFeed: TestReader:
batch_size: 1 inputs_def:
use_process: false fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
!ImageFolder
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !ResizeImage
interp: 1
target_size: 640
use_cv2: false
- !Permute {} - !Permute {}
- !NormalizeImage - !NormalizeImage
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
batch_size: 1
architecture: FaceBoxes architecture: FaceBoxes
train_feed: SSDTrainFeed
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
pretrain_weights: pretrain_weights:
use_gpu: true use_gpu: true
max_iters: 320000 max_iters: 320000
...@@ -43,18 +40,21 @@ OptimizerBuilder: ...@@ -43,18 +40,21 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 batch_size: 8
use_process: True use_process: True
shuffle: true
inputs_def:
image_shape: [3, 640, 640]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_train_bbx_gt.txt anno_path: wider_face_split/wider_face_train_bbx_gt.txt
image_dir: WIDER_train/images image_dir: WIDER_train/images
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {} - !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
...@@ -83,48 +83,38 @@ SSDTrainFeed: ...@@ -83,48 +83,38 @@ SSDTrainFeed:
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
SSDEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
use_process: false use_process: false
fields: ['image', 'im_id', 'gt_box'] inputs_def:
fields: ['image', 'im_id']
dataset: dataset:
!WIDERFaceDataSet
dataset_dir: dataset/wider_face dataset_dir: dataset/wider_face
annotation: wider_face_split/wider_face_val_bbx_gt.txt anno_path: wider_face_split/wider_face_val_bbx_gt.txt
image_dir: WIDER_val/images image_dir: WIDER_val/images
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {} - !NormalizeBox {}
- !ResizeImage
interp: 1
target_size: 640
use_cv2: false
- !Permute {} - !Permute {}
- !NormalizeImage - !NormalizeImage
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
SSDTestFeed: TestReader:
batch_size: 1 inputs_def:
use_process: false fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
!ImageFolder
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 640, 640]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !ResizeImage
interp: 1
target_size: 640
use_cv2: false
- !Permute {} - !Permute {}
- !NormalizeImage - !NormalizeImage
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [127.502231, 127.502231, 127.502231] std: [127.502231, 127.502231, 127.502231]
batch_size: 1
TrainReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset:
!COCODataSet
image_dir: train2017
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
- !RandomFlipImage
prob: 0.5
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
target_size: 800
max_size: 1333
interp: 1
use_cv2: true
- !Permute
to_bgr: false
channel_first: true
batch_transforms:
- !PadBatch
pad_to_stride: 32
use_padded_im_info: false
batch_size: 1
shuffle: true
worker_num: 2
use_process: false
EvalReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
# for voc
#fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms:
- !PadBatch
pad_to_stride: 32
use_padded_im_info: true
batch_size: 1
shuffle: false
drop_empty: false
worker_num: 2
TestReader:
inputs_def:
# set image_shape if needed
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset:
!ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms:
- !PadBatch
pad_to_stride: 32
use_padded_im_info: true
batch_size: 1
shuffle: false
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,34 +103,6 @@ OptimizerBuilder: ...@@ -106,34 +103,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,34 +103,7 @@ OptimizerBuilder: ...@@ -106,34 +103,7 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
TrainReader:
# batch size per device # batch size per device
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
log_smooth_window: 20 log_smooth_window: 20
...@@ -91,25 +88,4 @@ OptimizerBuilder: ...@@ -91,25 +88,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -103,34 +100,4 @@ OptimizerBuilder: ...@@ -103,34 +100,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -103,34 +100,4 @@ OptimizerBuilder: ...@@ -103,34 +100,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -104,34 +101,4 @@ OptimizerBuilder: ...@@ -104,34 +101,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -104,34 +101,4 @@ OptimizerBuilder: ...@@ -104,34 +101,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
log_smooth_window: 20 log_smooth_window: 20
...@@ -91,25 +88,4 @@ OptimizerBuilder: ...@@ -91,25 +88,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 360000 max_iters: 360000
log_smooth_window: 20 log_smooth_window: 20
...@@ -91,25 +88,4 @@ OptimizerBuilder: ...@@ -91,25 +88,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
use_gpu: true use_gpu: true
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -104,34 +101,6 @@ OptimizerBuilder: ...@@ -104,34 +101,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
use_gpu: true use_gpu: true
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -104,34 +101,6 @@ OptimizerBuilder: ...@@ -104,34 +101,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
log_smooth_window: 20 log_smooth_window: 20
...@@ -93,25 +90,4 @@ OptimizerBuilder: ...@@ -93,25 +90,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
drop_last: false
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -104,34 +101,6 @@ OptimizerBuilder: ...@@ -104,34 +101,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 260000 max_iters: 260000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,34 +103,4 @@ OptimizerBuilder: ...@@ -106,34 +103,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -107,36 +104,4 @@ OptimizerBuilder: ...@@ -107,36 +104,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
shuffle: true
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
shuffle: false
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -106,36 +103,4 @@ OptimizerBuilder: ...@@ -106,36 +103,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
shuffle: true
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
shuffle: false
TrainReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset:
!COCODataSet
image_dir: train2017
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
- !RandomFlipImage
prob: 0.5
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
target_size: 800
max_size: 1333
interp: 1
use_cv2: true
- !Permute
to_bgr: false
channel_first: true
batch_size: 1
shuffle: true
worker_num: 2
use_process: false
EvalReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
# for voc
#fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_size: 1
shuffle: false
drop_empty: false
worker_num: 2
TestReader:
inputs_def:
image_shape: [3,800,1333]
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset:
!ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_size: 1
shuffle: false
architecture: CascadeMaskRCNN architecture: CascadeMaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -88,7 +85,7 @@ MaskAssigner: ...@@ -88,7 +85,7 @@ MaskAssigner:
resolution: 28 resolution: 28
CascadeBBoxHead: CascadeBBoxHead:
head: CascadeXConvNormHead head: CascadeXConvNormHead
nms: nms:
keep_top_k: 100 keep_top_k: 100
nms_threshold: 0.5 nms_threshold: 0.5
...@@ -115,33 +112,6 @@ OptimizerBuilder: ...@@ -115,33 +112,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: '../mask_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: FasterRCNN architecture: FasterRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -104,34 +101,6 @@ OptimizerBuilder: ...@@ -104,34 +101,6 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: '../faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 16
FasterRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1
dataset:
annotation: annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
drop_last: false
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -113,33 +110,4 @@ OptimizerBuilder: ...@@ -113,33 +110,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: '../mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
TrainReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd', 'gt_mask']
dataset:
!COCODataSet
image_dir: train2017
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
- !RandomFlipImage
prob: 0.5
is_mask_flip: true
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
target_size: 800
max_size: 1333
interp: 1
use_cv2: true
- !Permute
to_bgr: false
channel_first: true
batch_transforms:
- !PadBatch
pad_to_stride: 32
use_padded_im_info: false
batch_size: 1
shuffle: true
worker_num: 2
drop_last: false
use_process: false
EvalReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
# for voc
#fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms:
- !PadBatch
pad_to_stride: 32
use_padded_im_info: true
batch_size: 1
shuffle: false
drop_last: false
drop_empty: false
worker_num: 2
TestReader:
inputs_def:
image_shape: [3,800,1333]
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset:
!ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms:
- !PadBatch
pad_to_stride: 32
use_padded_im_info: true
batch_size: 1
shuffle: false
drop_last: false
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -111,33 +108,4 @@ OptimizerBuilder: ...@@ -111,33 +108,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet101_vd_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet101_vd_pretrained.tar
weights: output/mask_rcnn_r101_vd_fpn_1x/model_final weights: output/mask_rcnn_r101_vd_fpn_1x/model_final
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
...@@ -112,33 +109,4 @@ OptimizerBuilder: ...@@ -112,33 +109,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -102,22 +99,4 @@ OptimizerBuilder: ...@@ -102,22 +99,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -104,22 +101,4 @@ OptimizerBuilder: ...@@ -104,22 +101,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -111,33 +108,4 @@ OptimizerBuilder: ...@@ -111,33 +108,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -111,33 +108,4 @@ OptimizerBuilder: ...@@ -111,33 +108,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
use_gpu: true use_gpu: true
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -112,34 +109,4 @@ OptimizerBuilder: ...@@ -112,34 +109,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 260000 max_iters: 260000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -114,34 +111,4 @@ OptimizerBuilder: ...@@ -114,34 +111,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
# batch size per device
batch_size: 1
dataset:
dataset_dir: dataset/coco
image_dir: train2017
annotation: annotations/instances_train2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 180000 max_iters: 180000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar
weights: output/mask_rcnn_x101_vd_64x4d_fpn_1x/model_final weights: output/mask_rcnn_x101_vd_64x4d_fpn_1x/model_final
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
...@@ -114,33 +111,4 @@ OptimizerBuilder: ...@@ -114,33 +111,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
architecture: MaskRCNN architecture: MaskRCNN
train_feed: MaskRCNNTrainFeed
eval_feed: MaskRCNNEvalFeed
test_feed: MaskRCNNTestFeed
max_iters: 360000 max_iters: 360000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar
weights: output/mask_rcnn_x101_vd_64x4d_fpn_2x/model_final weights: output/mask_rcnn_x101_vd_64x4d_fpn_2x/model_final
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
...@@ -114,33 +111,4 @@ OptimizerBuilder: ...@@ -114,33 +111,4 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
MaskRCNNTrainFeed: _READER_: 'mask_fpn_reader.yml'
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNEvalFeed:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
MaskRCNNTestFeed:
batch_size: 1
dataset:
annotation: annotations/instances_val2017.json
batch_transforms:
- !PadBatch
pad_to_stride: 32
num_workers: 2
TrainReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd', 'gt_mask']
dataset:
!COCODataSet
image_dir: train2017
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
- !RandomFlipImage
prob: 0.5
is_mask_flip: true
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
target_size: 800
max_size: 1333
interp: 1
use_cv2: true
- !Permute
to_bgr: false
channel_first: true
batch_size: 1
shuffle: true
worker_num: 2
drop_last: false
use_process: false
EvalReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
# for voc
#fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms:
- !DecodeImage
to_rgb: true
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_size: 1
shuffle: false
drop_last: false
drop_empty: false
worker_num: 2
TestReader:
inputs_def:
image_shape: [3,800,1333]
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset:
!ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_size: 1
shuffle: false
drop_last: false
architecture: CascadeRCNNClsAware architecture: CascadeRCNNClsAware
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 800000 max_iters: 800000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -110,16 +107,17 @@ OptimizerBuilder: ...@@ -110,16 +107,17 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: TrainReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/obj365 dataset_dir: dataset/obj365
annotation: train.json anno_path: train.json
image_dir: train image_dir: train
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False
- !RandomFlipImage - !RandomFlipImage
prob: 0.5 prob: 0.5
- !NormalizeImage - !NormalizeImage
...@@ -132,7 +130,7 @@ FasterRCNNTrainFeed: ...@@ -132,7 +130,7 @@ FasterRCNNTrainFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408] target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408]
...@@ -143,16 +141,20 @@ FasterRCNNTrainFeed: ...@@ -143,16 +141,20 @@ FasterRCNNTrainFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
batch_size: 1
shuffle: true
drop_last: false drop_last: false
num_workers: 2 worker_num: 2
FasterRCNNEvalFeed: EvalReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/obj365 dataset_dir: dataset/obj365
annotation: val.json anno_path: val.json
image_dir: val image_dir: val
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False with_mixup: False
...@@ -166,7 +168,7 @@ FasterRCNNEvalFeed: ...@@ -166,7 +168,7 @@ FasterRCNNEvalFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -178,13 +180,36 @@ FasterRCNNEvalFeed: ...@@ -178,13 +180,36 @@ FasterRCNNEvalFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
FasterRCNNTestFeed:
batch_size: 1 batch_size: 1
worker_num: 2
drop_empty: false
TestReader:
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/obj365/val.json !ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
with_mixup: false
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
drop_last: false use_padded_im_info: true
num_workers: 2 batch_size: 1
worker_num: 2
architecture: CascadeRCNN architecture: CascadeRCNN
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 500000 max_iters: 500000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -85,7 +82,7 @@ CascadeBBoxAssigner: ...@@ -85,7 +82,7 @@ CascadeBBoxAssigner:
fg_fraction: 0.25 fg_fraction: 0.25
CascadeBBoxHead: CascadeBBoxHead:
head: CascadeXConvNormHead head: CascadeXConvNormHead
nms: nms:
keep_top_k: 100 keep_top_k: 100
nms_threshold: 0.5 nms_threshold: 0.5
...@@ -115,16 +112,17 @@ OptimizerBuilder: ...@@ -115,16 +112,17 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: TrainReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/objects365 dataset_dir: dataset/objects365
annotation: annotations/train.json anno_path: annotations/train.json
image_dir: train image_dir: train
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
with_mixup: False
- !RandomFlipImage - !RandomFlipImage
is_mask_flip: true is_mask_flip: true
is_normalized: false is_normalized: false
...@@ -133,13 +131,13 @@ FasterRCNNTrainFeed: ...@@ -133,13 +131,13 @@ FasterRCNNTrainFeed:
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
mean: mean:
- 102.9801 - 102.9801
- 115.9465 - 115.9465
- 122.7717 - 122.7717
std: std:
- 1.0 - 1.0
- 1.0 - 1.0
- 1.0 - 1.0
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -152,7 +150,7 @@ FasterRCNNTrainFeed: ...@@ -152,7 +150,7 @@ FasterRCNNTrainFeed:
- 608 - 608
- 640 - 640
- 672 - 672
- 704 - 704
- 736 - 736
- 768 - 768
- 800 - 800
...@@ -183,30 +181,34 @@ FasterRCNNTrainFeed: ...@@ -183,30 +181,34 @@ FasterRCNNTrainFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
num_workers: 4 batch_size: 1
worker_num: 4
shuffle: true
class_aware_sampling: true class_aware_sampling: true
use_process: false
FasterRCNNEvalFeed: EvalReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/objects365 dataset_dir: dataset/objects365
annotation: annotations/val.json anno_path: annotations/val.json
image_dir: val image_dir: val
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
with_mixup: False
- !NormalizeImage - !NormalizeImage
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
mean: mean:
- 102.9801 - 102.9801
- 115.9465 - 115.9465
- 122.7717 - 122.7717
std: std:
- 1.0 - 1.0
- 1.0 - 1.0
- 1.0 - 1.0
- !ResizeImage - !ResizeImage
target_size: 800 target_size: 800
max_size: 1333 max_size: 1333
...@@ -217,31 +219,33 @@ FasterRCNNEvalFeed: ...@@ -217,31 +219,33 @@ FasterRCNNEvalFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
batch_size: 1
drop_empty: false
worker_num: 2
FasterRCNNTestFeed: TestReader:
batch_size: 1 batch_size: 1
dataset: dataset:
annotation: dataset/obj365/annotations/val.json !ImageFolder
sample_transforms: anno_path: dataset/obj365/annotations/val.json
sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
with_mixup: False
- !NormalizeImage - !NormalizeImage
is_channel_first: false is_channel_first: false
is_scale: False is_scale: False
mean: mean:
- 102.9801 - 102.9801
- 115.9465 - 115.9465
- 122.7717 - 122.7717
std: std:
- 1.0 - 1.0
- 1.0 - 1.0
- 1.0 - 1.0
- !Permute - !Permute
channel_first: true channel_first: true
to_bgr: false to_bgr: false
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
drop_last: false worker_num: 2
num_workers: 2
architecture: CascadeRCNNClsAware architecture: CascadeRCNNClsAware
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 1500000 max_iters: 1500000
snapshot_iter: 10000 snapshot_iter: 10000
use_gpu: true use_gpu: true
...@@ -109,16 +106,17 @@ OptimizerBuilder: ...@@ -109,16 +106,17 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: TrainReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/oid dataset_dir: dataset/oid
annotation: train.json anno_path: train.json
image_dir: train image_dir: train
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False
- !RandomFlipImage - !RandomFlipImage
prob: 0.5 prob: 0.5
- !NormalizeImage - !NormalizeImage
...@@ -131,7 +129,7 @@ FasterRCNNTrainFeed: ...@@ -131,7 +129,7 @@ FasterRCNNTrainFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408] target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800, 832, 864, 896, 928, 960, 992, 1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408]
...@@ -142,16 +140,20 @@ FasterRCNNTrainFeed: ...@@ -142,16 +140,20 @@ FasterRCNNTrainFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
batch_size: 1
drop_last: false drop_last: false
num_workers: 2 shuffle: true
worker_num: 2
FasterRCNNEvalFeed: EvalReader:
batch_size: 1 inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
!COCODataSet
dataset_dir: dataset/oidv5 dataset_dir: dataset/oidv5
annotation: val.json anno_path: val.json
image_dir: val image_dir: val
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
with_mixup: False with_mixup: False
...@@ -165,7 +167,7 @@ FasterRCNNEvalFeed: ...@@ -165,7 +167,7 @@ FasterRCNNEvalFeed:
std: std:
- 0.229 - 0.229
- 0.224 - 0.224
- 0.225 - 0.225
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: target_size:
...@@ -177,13 +179,34 @@ FasterRCNNEvalFeed: ...@@ -177,13 +179,34 @@ FasterRCNNEvalFeed:
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
batch_size: 1
worker_num: 2
drop_empty: false
FasterRCNNTestFeed: TestReader:
batch_size: 1 batch_size: 1
inputs_def:
fields: ['image', 'im_info', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/oidv5/val.json !ImageFolder
anno_path: annotations/instances_val2017.json
sample_transforms:
- !DecodeImage
to_rgb: true
- !NormalizeImage
is_channel_first: false
is_scale: true
mean: [0.485,0.456,0.406]
std: [0.229, 0.224,0.225]
- !ResizeImage
interp: 1
max_size: 1333
target_size: 800
use_cv2: true
- !Permute
channel_first: true
to_bgr: false
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 32 pad_to_stride: 32
drop_last: false worker_num: 2
num_workers: 2
architecture: RetinaNet architecture: RetinaNet
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
use_gpu: true use_gpu: true
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet101_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet101_pretrained.tar
...@@ -73,33 +70,21 @@ OptimizerBuilder: ...@@ -73,33 +70,21 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
num_workers: 2
FasterRCNNEvalFeed: EvalReader:
batch_size: 2 batch_size: 2
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
num_workers: 2
FasterRCNNTestFeed: TestReader:
batch_size: 1 batch_size: 1
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
num_workers: 2
architecture: RetinaNet architecture: RetinaNet
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 90000 max_iters: 90000
use_gpu: true use_gpu: true
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_cos_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_cos_pretrained.tar
...@@ -73,33 +70,21 @@ OptimizerBuilder: ...@@ -73,33 +70,21 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
TrainReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
num_workers: 2
FasterRCNNEvalFeed: EvalReader:
batch_size: 2 batch_size: 2
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
num_workers: 2
FasterRCNNTestFeed: TestReader:
batch_size: 1 batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
num_workers: 2
architecture: RetinaNet architecture: RetinaNet
train_feed: FasterRCNNTrainFeed
eval_feed: FasterRCNNEvalFeed
test_feed: FasterRCNNTestFeed
max_iters: 180000 max_iters: 180000
use_gpu: true use_gpu: true
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar
...@@ -76,33 +73,18 @@ OptimizerBuilder: ...@@ -76,33 +73,18 @@ OptimizerBuilder:
factor: 0.0001 factor: 0.0001
type: L2 type: L2
FasterRCNNTrainFeed: _READER_: 'faster_fpn_reader.yml'
batch_size: 1 TrainReader:
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
num_workers: 2
FasterRCNNEvalFeed: EvalReader:
batch_size: 1
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
num_workers: 2
FasterRCNNTestFeed: TestReader:
batch_size: 1
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
batch_transforms: batch_transforms:
- !PadBatch - !PadBatch
pad_to_stride: 128 pad_to_stride: 128
num_workers: 2
architecture: SSD architecture: SSD
train_feed: SSDTrainFeed
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/ssd_mobilenet_v1_coco_pretrained.tar pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/ssd_mobilenet_v1_coco_pretrained.tar
use_gpu: true use_gpu: true
max_iters: 28000 max_iters: 28000
...@@ -56,25 +53,91 @@ OptimizerBuilder: ...@@ -56,25 +53,91 @@ OptimizerBuilder:
factor: 0.00005 factor: 0.00005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 32 inputs_def:
use_process: true image_shape: [3, 300, 300]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!VOCDataSet
anno_path: trainval.txt
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: trainval.txt
use_default_label: true use_default_label: true
sample_transforms:
SSDEvalFeed: - !DecodeImage
batch_size: 64 to_rgb: true
- !RandomDistort
brightness_lower: 0.875
brightness_upper: 1.125
is_order: true
- !RandomExpand
fill_value: [127.5, 127.5, 127.5]
- !RandomCrop
allow_no_crop: false
- !NormalizeBox {}
- !ResizeImage
interp: 1
target_size: 300
use_cv2: false
- !RandomFlipImage
is_normalized: true
- !Permute {}
- !NormalizeImage
is_scale: false
mean: [127.5, 127.5, 127.5]
std: [127.502231, 127.502231, 127.502231]
batch_size: 32
shuffle: true
drop_last: true
worker_num: 8
bufsize: 16
use_process: true use_process: true
EvalReader:
inputs_def:
image_shape: [3, 300, 300]
fields: ['image', 'gt_bbox', 'gt_class', 'im_shape', 'im_id', 'is_difficult']
dataset: dataset:
!VOCDataSet
anno_path: test.txt
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: test.txt
use_default_label: true use_default_label: true
drop_last: false sample_transforms:
- !DecodeImage
to_rgb: true
- !NormalizeBox {}
- !ResizeImage
interp: 1
target_size: 300
use_cv2: false
- !Permute {}
- !NormalizeImage
is_scale: false
mean: [127.5, 127.5, 127.5]
std: [127.502231, 127.502231, 127.502231]
batch_size: 32
worker_num: 8
bufsize: 32
use_process: false
SSDTestFeed: TestReader:
batch_size: 1 inputs_def:
image_shape: [3,300,300]
fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
!ImageFolder
anno_path: test.txt
use_default_label: true use_default_label: true
drop_last: false sample_transforms:
- !DecodeImage
to_rgb: true
- !ResizeImage
interp: 1
max_size: 0
target_size: 300
use_cv2: false
- !Permute {}
- !NormalizeImage
is_scale: false
mean: [127.5, 127.5, 127.5]
std: [127.502231, 127.502231, 127.502231]
batch_size: 1
architecture: SSD architecture: SSD
train_feed: SSDTrainFeed
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
use_gpu: true use_gpu: true
max_iters: 400000 max_iters: 400000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -60,37 +57,27 @@ OptimizerBuilder: ...@@ -60,37 +57,27 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 inputs_def:
image_shape: [3, 300, 300]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
image_shape: [3, 300, 300]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
brightness_upper: 1.125 brightness_upper: 1.125
is_order: true is_order: true
- !ExpandImage - !RandomExpand
max_ratio: 4 fill_value: [104, 117, 123]
mean: [104, 117, 123] - !RandomCrop
prob: 0.5 allow_no_crop: true
- !CropImage - !NormalizeBox {}
avoid_no_bbox: true
batch_sampler:
- [1, 1, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.1, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.3, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.5, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.7, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.9, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.0, 1.0]
satisfy_all: false
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: 300 target_size: 300
...@@ -103,19 +90,27 @@ SSDTrainFeed: ...@@ -103,19 +90,27 @@ SSDTrainFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 8
shuffle: true
worker_num: 8
bufsize: 32
use_process: true
drop_empty: true
SSDEvalFeed: EvalReader:
batch_size: 16 inputs_def:
image_shape: [3, 300, 300]
fields: ['image', 'gt_bbox', 'gt_class', 'im_shape', 'im_id', 'is_difficult']
dataset: dataset:
dataset_dir: dataset/coco !COCODataSet
annotation: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
drop_last: false anno_path: annotations/instances_val2017.json
image_shape: [3, 300, 300] dataset_dir: dataset/coco
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false with_mixup: false
- !NormalizeBox {}
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: 300 target_size: 300
...@@ -126,12 +121,17 @@ SSDEvalFeed: ...@@ -126,12 +121,17 @@ SSDEvalFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 16
worker_num: 8
bufsize: 32
SSDTestFeed: TestReader:
batch_size: 1 inputs_def:
image_shape: [3,300,300]
fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/coco/annotations/instances_val2017.json !ImageFolder
image_shape: [3, 300, 300] anno_path: annotations/instances_val2017.json
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -147,3 +147,4 @@ SSDTestFeed: ...@@ -147,3 +147,4 @@ SSDTestFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 1
architecture: SSD architecture: SSD
train_feed: SSDTrainFeed
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
use_gpu: true use_gpu: true
max_iters: 120001 max_iters: 120001
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -60,41 +57,31 @@ OptimizerBuilder: ...@@ -60,41 +57,31 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 inputs_def:
image_shape: [3, 300, 300]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: trainval.txt anno_path: trainval.txt
use_default_label: true use_default_label: true
image_shape: [3, 300, 300]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
brightness_upper: 1.125 brightness_upper: 1.125
is_order: true is_order: true
- !ExpandImage - !RandomExpand
max_ratio: 4 fill_value: [104, 117, 123]
mean: [104, 117, 123] - !RandomCrop
prob: 0.5 allow_no_crop: true
- !CropImage - !NormalizeBox {}
avoid_no_bbox: true
batch_sampler:
- [1, 1, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.1, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.3, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.5, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.7, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.9, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.0, 1.0]
satisfy_all: false
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: 300 target_size: 300
use_cv2: False use_cv2: false
- !RandomFlipImage - !RandomFlipImage
is_normalized: true is_normalized: true
- !Permute - !Permute
...@@ -103,15 +90,21 @@ SSDTrainFeed: ...@@ -103,15 +90,21 @@ SSDTrainFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 8
shuffle: true
worker_num: 8
bufsize: 32
use_process: 8
SSDEvalFeed: EvalReader:
batch_size: 32 inputs_def:
image_shape: [3, 300, 300]
fields: ['image', 'gt_bbox', 'gt_class', 'im_shape', 'im_id', 'is_difficult']
dataset: dataset:
!VOCDataSet
anno_path: test.txt
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: test.txt
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 300, 300]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -125,15 +118,20 @@ SSDEvalFeed: ...@@ -125,15 +118,20 @@ SSDEvalFeed:
to_bgr: false to_bgr: false
- !NormalizeImage - !NormalizeImage
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 32
worker_num: 8
bufsize: 32
SSDTestFeed: TestReader:
batch_size: 1 inputs_def:
image_shape: [3,300,300]
fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
!ImageFolder
anno_path: test.txt
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 300, 300]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -149,3 +147,4 @@ SSDTestFeed: ...@@ -149,3 +147,4 @@ SSDTestFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 1
architecture: SSD architecture: SSD
train_feed: SSDTrainFeed
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
use_gpu: true use_gpu: true
max_iters: 400000 max_iters: 400000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -62,37 +59,28 @@ OptimizerBuilder: ...@@ -62,37 +59,28 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 inputs_def:
image_shape: [3, 512, 512]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
image_shape: [3, 512, 512]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false with_mixup: false
- !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
brightness_upper: 1.125 brightness_upper: 1.125
is_order: true is_order: true
- !ExpandImage - !RandomExpand
max_ratio: 4 fill_value: [104, 117, 123]
mean: [104, 117, 123] - !RandomCrop
prob: 0.5 allow_no_crop: true
- !CropImage - !NormalizeBox {}
avoid_no_bbox: true
batch_sampler:
- [1, 1, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.1, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.3, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.5, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.7, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.9, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.0, 1.0]
satisfy_all: false
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: 512 target_size: 512
...@@ -105,15 +93,21 @@ SSDTrainFeed: ...@@ -105,15 +93,21 @@ SSDTrainFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
SSDEvalFeed:
batch_size: 8 batch_size: 8
shuffle: true
worker_num: 8
bufsize: 32
use_process: 8
EvalReader:
inputs_def:
image_shape: [3,512,512]
fields: ['image', 'gt_bbox', 'gt_class', 'im_shape', 'im_id', 'is_difficult']
dataset: dataset:
dataset_dir: dataset/coco !COCODataSet
annotation: annotations/instances_val2017.json
image_dir: val2017 image_dir: val2017
drop_last: false anno_path: annotations/instances_val2017.json
image_shape: [3, 512, 512] dataset_dir: dataset/coco
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -128,12 +122,18 @@ SSDEvalFeed: ...@@ -128,12 +122,18 @@ SSDEvalFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 8
worker_num: 8
bufsize: 32
drop_empty: false
SSDTestFeed: TestReader:
batch_size: 1 inputs_def:
image_shape: [3,512,512]
fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
annotation: dataset/coco/annotations/instances_val2017.json !ImageFolder
image_shape: [3, 512, 512] anno_path: annotations/instances_val2017.json
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -149,3 +149,4 @@ SSDTestFeed: ...@@ -149,3 +149,4 @@ SSDTestFeed:
is_scale: false is_scale: false
mean: [104, 117, 123] mean: [104, 117, 123]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 1
architecture: SSD architecture: SSD
train_feed: SSDTrainFeed
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
use_gpu: true use_gpu: true
max_iters: 120000 max_iters: 120000
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -64,37 +61,27 @@ OptimizerBuilder: ...@@ -64,37 +61,27 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
SSDTrainFeed: TrainReader:
batch_size: 8 inputs_def:
image_shape: [3, 512, 512]
fields: ['image', 'gt_bbox', 'gt_class']
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: trainval.txt anno_path: trainval.txt
use_default_label: true use_default_label: true
image_shape: [3, 512, 512]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
with_mixup: false
- !NormalizeBox {}
- !RandomDistort - !RandomDistort
brightness_lower: 0.875 brightness_lower: 0.875
brightness_upper: 1.125 brightness_upper: 1.125
is_order: true is_order: true
- !ExpandImage - !RandomExpand
max_ratio: 4 fill_value: [123, 117, 104]
mean: [123, 117, 104] - !RandomCrop
prob: 0.5 allow_no_crop: true
- !CropImage - !NormalizeBox {}
avoid_no_bbox: true
batch_sampler:
- [1, 1, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.1, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.3, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.5, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.7, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.9, 0.0]
- [1, 50, 0.3, 1.0, 0.5, 2.0, 0.0, 1.0]
satisfy_all: false
- !ResizeImage - !ResizeImage
interp: 1 interp: 1
target_size: 512 target_size: 512
...@@ -107,15 +94,21 @@ SSDTrainFeed: ...@@ -107,15 +94,21 @@ SSDTrainFeed:
is_scale: false is_scale: false
mean: [123, 117, 104] mean: [123, 117, 104]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 8
shuffle: true
worker_num: 8
bufsize: 32
use_process: 8
SSDEvalFeed: EvalReader:
batch_size: 32 inputs_def:
image_shape: [3, 512, 512]
fields: ['image', 'gt_bbox', 'gt_class', 'im_shape', 'im_id', 'is_difficult']
dataset: dataset:
!VOCDataSet
anno_path: test.txt
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: test.txt
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 512, 512]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -131,13 +124,18 @@ SSDEvalFeed: ...@@ -131,13 +124,18 @@ SSDEvalFeed:
is_scale: false is_scale: false
mean: [123, 117, 104] mean: [123, 117, 104]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 32
worker_num: 8
bufsize: 32
SSDTestFeed: TestReader:
batch_size: 1 inputs_def:
image_shape: [3,512,512]
fields: ['image', 'im_id', 'im_shape']
dataset: dataset:
!ImageFolder
anno_path: test.txt
use_default_label: true use_default_label: true
drop_last: false
image_shape: [3, 512, 512]
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -153,3 +151,4 @@ SSDTestFeed: ...@@ -153,3 +151,4 @@ SSDTestFeed:
is_scale: false is_scale: false
mean: [123, 117, 104] mean: [123, 117, 104]
std: [1, 1, 1] std: [1, 1, 1]
batch_size: 1
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 500200 max_iters: 500200
log_smooth_window: 20 log_smooth_window: 20
...@@ -57,26 +54,4 @@ OptimizerBuilder: ...@@ -57,26 +54,4 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: 'yolov3_reader.yml'
batch_size: 8
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
num_workers: 8
bufsize: 128
use_process: true
YoloEvalFeed:
batch_size: 8
image_shape: [3, 608, 608]
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
YoloTestFeed:
batch_size: 1
image_shape: [3, 608, 608]
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 70000 max_iters: 70000
log_smooth_window: 20 log_smooth_window: 20
...@@ -58,27 +55,31 @@ OptimizerBuilder: ...@@ -58,27 +55,31 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: 'yolov3_reader.yml'
batch_size: 8 TrainReader:
inputs_def:
fields: ['image', 'gt_bbox', 'gt_class', 'gt_score']
num_max_boxes: 50
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: trainval.txt anno_path: trainval.txt
use_default_label: true use_default_label: true
num_workers: 8 with_background: false
bufsize: 128
use_process: true
mixup_epoch: 250
YoloEvalFeed: EvalReader:
batch_size: 8 inputs_def:
image_shape: [3, 608, 608] fields: ['image', 'im_size', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
num_max_boxes: 50
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: test.txt anno_path: test.txt
use_default_label: true use_default_label: true
with_background: false
YoloTestFeed: TestReader:
batch_size: 1
image_shape: [3, 608, 608]
dataset: dataset:
!ImageFolder
use_default_label: true use_default_label: true
with_background: false
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 500200 max_iters: 500200
log_smooth_window: 20 log_smooth_window: 20
...@@ -58,26 +55,4 @@ OptimizerBuilder: ...@@ -58,26 +55,4 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: 'yolov3_reader.yml'
batch_size: 8
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
num_workers: 8
bufsize: 128
use_process: true
YoloEvalFeed:
batch_size: 8
image_shape: [3, 608, 608]
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
YoloTestFeed:
batch_size: 1
image_shape: [3, 608, 608]
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 20000 max_iters: 20000
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
snapshot_iter: 1000 snapshot_iter: 200
metric: VOC metric: VOC
map_type: 11point map_type: 11point
pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/yolov3_mobilenet_v1.tar pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/yolov3_mobilenet_v1.tar
...@@ -60,16 +57,19 @@ OptimizerBuilder: ...@@ -60,16 +57,19 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: 'yolov3_reader.yml'
batch_size: 1 # will merge TrainReader into yolov3_reader.yml
TrainReader:
inputs_def:
image_shape: [3, 608, 608]
fields: ['image', 'gt_bbox', 'gt_class', 'gt_score']
num_max_boxes: 50
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/fruit dataset_dir: dataset/fruit
annotation: fruit-detection/train.txt anno_path: train.txt
with_background: false
use_default_label: false use_default_label: false
num_workers: 16
bufsize: 128
use_process: true
mixup_epoch: -1
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: true to_rgb: true
...@@ -83,40 +83,45 @@ YoloTrainFeed: ...@@ -83,40 +83,45 @@ YoloTrainFeed:
max_size: 0 max_size: 0
target_size: 608 target_size: 608
- !RandomFlipImage - !RandomFlipImage
is_mask_flip: false
is_normalized: true is_normalized: true
prob: 0.5 prob: 0.5
- !NormalizeImage - !NormalizeImage
is_channel_first: false mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
is_scale: true is_scale: true
mean: is_channel_first: false
- 0.485 - !PadBox
- 0.456 num_max_boxes: 50
- 0.406 - !BboxXYXY2XYWH {}
std: batch_transforms:
- 0.229 - !RandomShape
- 0.224 sizes: [608]
- 0.225
- !Permute - !Permute
channel_first: true channel_first: true
to_bgr: false to_bgr: false
batch_transforms: batch_size: 1
- !RandomShape shuffle: true
sizes: [608] mixup_epoch: -1
with_background: false worker_num: 4
bufsize: 64
use_process: true
YoloEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
image_shape: [3, 608, 608] inputs_def:
image_shape: [3, 608, 608]
fields: ['image', 'im_size', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
num_max_boxes: 50
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/fruit dataset_dir: dataset/fruit
annotation: fruit-detection/val.txt anno_path: val.txt
use_default_label: false use_default_label: false
with_background: false
YoloTestFeed: TestReader:
batch_size: 1 batch_size: 1
image_shape: [3, 608, 608]
dataset: dataset:
dataset_dir: dataset/fruit !ImageFolder
use_default_label: false use_default_label: false
with_background: false
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 70000 max_iters: 70000
log_smooth_window: 20 log_smooth_window: 20
...@@ -59,27 +56,29 @@ OptimizerBuilder: ...@@ -59,27 +56,29 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: 'yolov3_reader.yml'
batch_size: 8 TrainReader:
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: trainval.txt anno_path: trainval.txt
use_default_label: true use_default_label: true
num_workers: 8 with_background: false
bufsize: 128
use_process: true
mixup_epoch: 250
YoloEvalFeed: EvalReader:
batch_size: 8 inputs_def:
image_shape: [3, 608, 608] image_shape: [3, 608, 608]
fields: ['image', 'im_size', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
num_max_boxes: 50
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: test.txt anno_path: test.txt
use_default_label: true use_default_label: true
with_background: false
YoloTestFeed: TestReader:
batch_size: 1
image_shape: [3, 608, 608]
dataset: dataset:
!ImageFolder
use_default_label: true use_default_label: true
with_background: false
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 500200 max_iters: 500200
log_smooth_window: 20 log_smooth_window: 20
...@@ -60,26 +57,4 @@ OptimizerBuilder: ...@@ -60,26 +57,4 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: 'yolov3_reader.yml'
batch_size: 8
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_train2017.json
image_dir: train2017
num_workers: 8
bufsize: 128
use_process: true
YoloEvalFeed:
batch_size: 8
image_shape: [3, 608, 608]
dataset:
dataset_dir: dataset/coco
annotation: annotations/instances_val2017.json
image_dir: val2017
YoloTestFeed:
batch_size: 1
image_shape: [3, 608, 608]
dataset:
annotation: dataset/coco/annotations/instances_val2017.json
architecture: YOLOv3 architecture: YOLOv3
train_feed: YoloTrainFeed
eval_feed: YoloEvalFeed
test_feed: YoloTestFeed
use_gpu: true use_gpu: true
max_iters: 70000 max_iters: 70000
log_smooth_window: 20 log_smooth_window: 20
...@@ -61,27 +58,29 @@ OptimizerBuilder: ...@@ -61,27 +58,29 @@ OptimizerBuilder:
factor: 0.0005 factor: 0.0005
type: L2 type: L2
YoloTrainFeed: _READER_: 'yolov3_reader.yml'
batch_size: 8 TrainReader:
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: trainval.txt anno_path: trainval.txt
use_default_label: true use_default_label: true
num_workers: 8 with_background: false
bufsize: 128
use_process: true
mixup_epoch: 250
YoloEvalFeed: EvalReader:
batch_size: 8 inputs_def:
image_shape: [3, 608, 608] image_shape: [3, 608, 608]
fields: ['image', 'im_size', 'im_id', 'gt_bbox', 'gt_class', 'is_difficult']
num_max_boxes: 50
dataset: dataset:
!VOCDataSet
dataset_dir: dataset/voc dataset_dir: dataset/voc
annotation: test.txt anno_path: test.txt
use_default_label: true use_default_label: true
with_background: false
YoloTestFeed: TestReader:
batch_size: 1
image_shape: [3, 608, 608]
dataset: dataset:
!ImageFolder
use_default_label: true use_default_label: true
with_background: false
TrainReader:
inputs_def:
fields: ['image', 'gt_bbox', 'gt_class', 'gt_score']
num_max_boxes: 50
dataset:
!COCODataSet
image_dir: train2017
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
with_background: false
sample_transforms:
- !DecodeImage
to_rgb: True
with_mixup: True
- !MixupImage
alpha: 1.5
beta: 1.5
- !ColorDistort {}
- !RandomExpand
fill_value: [123.675, 116.28, 103.53]
- !RandomCrop {}
- !RandomFlipImage
is_normalized: false
- !NormalizeBox {}
- !PadBox
num_max_boxes: 50
- !BboxXYXY2XYWH {}
batch_transforms:
- !RandomShape
sizes: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608]
random_inter: True
- !NormalizeImage
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
is_scale: True
is_channel_first: false
- !Permute
to_bgr: false
channel_first: True
batch_size: 8
shuffle: true
mixup_epoch: 250
drop_last: true
worker_num: 8
bufsize: 32
use_process: true
EvalReader:
inputs_def:
fields: ['image', 'im_size', 'im_id']
num_max_boxes: 50
dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
with_background: false
sample_transforms:
- !DecodeImage
to_rgb: True
- !ResizeImage
target_size: 608
interp: 2
- !NormalizeImage
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
is_scale: True
is_channel_first: false
- !PadBox
num_max_boxes: 50
- !Permute
to_bgr: false
channel_first: True
batch_size: 8
drop_empty: false
worker_num: 8
bufsize: 32
TestReader:
inputs_def:
image_shape: [3, 608, 608]
fields: ['image', 'im_size', 'im_id']
dataset:
!ImageFolder
anno_path: annotations/instances_val2017.json
with_background: false
sample_transforms:
- !DecodeImage
to_rgb: True
- !ResizeImage
target_size: 608
interp: 2
- !NormalizeImage
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
is_scale: True
is_channel_first: false
- !Permute
to_bgr: false
channel_first: True
batch_size: 1
此差异已折叠。
此差异已折叠。
...@@ -34,7 +34,6 @@ list below can be viewed by `--help` ...@@ -34,7 +34,6 @@ list below can be viewed by `--help`
| -r/--resume_checkpoint | train | Checkpoint path for resuming training | None | `-r output/faster_rcnn_r50_1x/10000` | | -r/--resume_checkpoint | train | Checkpoint path for resuming training | None | `-r output/faster_rcnn_r50_1x/10000` |
| --eval | train | Whether to perform evaluation in training | False | | | --eval | train | Whether to perform evaluation in training | False | |
| --output_eval | train/eval | json path in evalution | current path | `--output_eval ./json_result` | | --output_eval | train/eval | json path in evalution | current path | `--output_eval ./json_result` |
| -d/--dataset_dir | train/eval | path for dataset, same as dataset_dir in configs | None | `-d dataset/coco` |
| --fp16 | train | Whether to enable mixed precision training | False | GPU training is required | | --fp16 | train | Whether to enable mixed precision training | False | GPU training is required |
| --loss_scale | train | Loss scaling factor for mixed precision training | 8.0 | enable when `--fp16` is True | | --loss_scale | train | Loss scaling factor for mixed precision training | 8.0 | enable when `--fp16` is True |
| --json_eval | eval | Whether to evaluate with already existed bbox.json or mask.json | False | json path is set in `--output_eval` | | --json_eval | eval | Whether to evaluate with already existed bbox.json or mask.json | False | json path is set in `--output_eval` |
......
此差异已折叠。
此差异已折叠。
docs/DATA.md
\ No newline at end of file
docs/DATA_cn.md
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册