未验证 提交 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
...@@ -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
...@@ -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
...@@ -192,18 +191,21 @@ MaskRCNNTrainFeed: ...@@ -192,18 +191,21 @@ 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
...@@ -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
...@@ -130,13 +127,16 @@ OptimizerBuilder: ...@@ -130,13 +127,16 @@ 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
...@@ -199,14 +199,22 @@ MaskRCNNTrainFeed: ...@@ -199,14 +199,22 @@ 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
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: False to_rgb: False
...@@ -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
image_dir: train2017
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
...@@ -142,15 +141,18 @@ FasterRCNNTrainFeed: ...@@ -142,15 +141,18 @@ 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
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
...@@ -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
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco
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
...@@ -142,15 +140,19 @@ FasterRCNNTrainFeed: ...@@ -142,15 +140,19 @@ 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
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco
sample_transforms: sample_transforms:
- !DecodeImage - !DecodeImage
to_rgb: True to_rgb: True
...@@ -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
...@@ -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
...@@ -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
...@@ -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
...@@ -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
...@@ -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
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
pretrain_weights: pretrain_weights:
use_gpu: true use_gpu: true
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -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
eval_feed: SSDEvalFeed
test_feed: SSDTestFeed
pretrain_weights: pretrain_weights:
use_gpu: true use_gpu: true
snapshot_iter: 10000 snapshot_iter: 10000
...@@ -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
...@@ -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
...@@ -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
...@@ -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
...@@ -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
...@@ -143,14 +141,18 @@ FasterRCNNTrainFeed: ...@@ -143,14 +141,18 @@ 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
...@@ -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
...@@ -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
...@@ -183,19 +181,23 @@ FasterRCNNTrainFeed: ...@@ -183,19 +181,23 @@ 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
...@@ -217,15 +219,18 @@ FasterRCNNEvalFeed: ...@@ -217,15 +219,18 @@ 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
anno_path: dataset/obj365/annotations/val.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
...@@ -243,5 +248,4 @@ FasterRCNNTestFeed: ...@@ -243,5 +248,4 @@ FasterRCNNTestFeed:
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
...@@ -142,14 +140,18 @@ FasterRCNNTrainFeed: ...@@ -142,14 +140,18 @@ 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
...@@ -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
...@@ -127,13 +120,18 @@ SSDEvalFeed: ...@@ -127,13 +120,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: 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:
- 0.229
- 0.224
- 0.225
- !Permute
channel_first: true
to_bgr: false
batch_transforms: batch_transforms:
- !RandomShape - !RandomShape
sizes: [608] sizes: [608]
with_background: false - !Permute
channel_first: true
to_bgr: false
batch_size: 1
shuffle: true
mixup_epoch: -1
worker_num: 4
bufsize: 64
use_process: true
YoloEvalFeed: EvalReader:
batch_size: 1 batch_size: 1
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/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
TestReader:
YoloTestFeed:
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
architecture: FasterRCNN
use_gpu: true
max_iters: 180000
log_smooth_window: 20
save_dir: output
snapshot_iter: 10000
pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_cos_pretrained.tar
metric: COCO
weights: output/faster_rcnn_r50_1x/model_final
num_classes: 81
FasterRCNN:
backbone: ResNet
rpn_head: RPNHead
roi_extractor: RoIAlign
bbox_head: BBoxHead
bbox_assigner: BBoxAssigner
ResNet:
norm_type: affine_channel
depth: 50
feature_maps: 4
freeze_at: 2
ResNetC5:
depth: 50
norm_type: affine_channel
RPNHead:
anchor_generator:
anchor_sizes: [32, 64, 128, 256, 512]
aspect_ratios: [0.5, 1.0, 2.0]
stride: [16.0, 16.0]
variance: [1.0, 1.0, 1.0, 1.0]
rpn_target_assign:
rpn_batch_size_per_im: 256
rpn_fg_fraction: 0.5
rpn_negative_overlap: 0.3
rpn_positive_overlap: 0.7
rpn_straddle_thresh: 0.0
use_random: true
train_proposal:
min_size: 0.0
nms_thresh: 0.7
pre_nms_top_n: 12000
post_nms_top_n: 2000
test_proposal:
min_size: 0.0
nms_thresh: 0.7
pre_nms_top_n: 6000
post_nms_top_n: 1000
RoIAlign:
resolution: 14
sampling_ratio: 0
spatial_scale: 0.0625
BBoxAssigner:
batch_size_per_im: 512
bbox_reg_weights: [0.1, 0.1, 0.2, 0.2]
bg_thresh_hi: 0.5
bg_thresh_lo: 0.0
fg_fraction: 0.25
fg_thresh: 0.5
BBoxHead:
head: ResNetC5
nms:
keep_top_k: 100
nms_threshold: 0.5
score_threshold: 0.05
LearningRate:
base_lr: 0.01
schedulers:
- !PiecewiseDecay
gamma: 0.1
milestones: [120000, 160000]
- !LinearWarmup
start_factor: 0.3333333333333333
steps: 500
OptimizerBuilder:
optimizer:
momentum: 0.9
type: Momentum
regularizer:
factor: 0.0001
type: L2
_LOADER_: 'faster_reader.yml'
TrainLoader:
inputs_def:
image_shape: [3,800,800]
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
batch_size: 3
TrainReader:
inputs_def:
image_shape: [3,NULL,NULL]
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd']
dataset:
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.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
drop_last: false
use_multi_process: false
EvalReader:
inputs_def:
image_shape: [3,800,1333]
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_num: 100
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
# 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
...@@ -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` |
......
...@@ -31,7 +31,6 @@ python tools/infer.py -c configs/faster_rcnn_r50_1x.yml --infer_img=demo/0000005 ...@@ -31,7 +31,6 @@ python tools/infer.py -c configs/faster_rcnn_r50_1x.yml --infer_img=demo/0000005
| -r/--resume_checkpoint | train | 从某一检查点恢复训练 | None | `-r output/faster_rcnn_r50_1x/10000` | | -r/--resume_checkpoint | train | 从某一检查点恢复训练 | None | `-r output/faster_rcnn_r50_1x/10000` |
| --eval | train | 是否边训练边测试 | False | | | --eval | train | 是否边训练边测试 | False | |
| --output_eval | train/eval | 编辑评测保存json路径 | 当前路径 | `--output_eval ./json_result` | | --output_eval | train/eval | 编辑评测保存json路径 | 当前路径 | `--output_eval ./json_result` |
| -d/--dataset_dir | train/eval | 数据集路径, 同配置文件里的dataset_dir | None | `-d dataset/coco` |
| --fp16 | train | 是否使用混合精度训练模式 | False | 需使用GPU训练 | | --fp16 | train | 是否使用混合精度训练模式 | False | 需使用GPU训练 |
| --loss_scale | train | 设置混合精度训练模式中损失值的缩放比例 | 8.0 | 需先开启`--fp16`后使用 | | --loss_scale | train | 设置混合精度训练模式中损失值的缩放比例 | 8.0 | 需先开启`--fp16`后使用 |
| --json_eval | eval | 是否通过已存在的bbox.json或者mask.json进行评估 | False | json文件路径在`--output_eval`中设置 | | --json_eval | eval | 是否通过已存在的bbox.json或者mask.json进行评估 | False | json文件路径在`--output_eval`中设置 |
......
...@@ -22,6 +22,7 @@ import sys ...@@ -22,6 +22,7 @@ import sys
import yaml import yaml
import copy import copy
import collections
from .config.schema import SchemaDict, SharedConfig, extract_schema from .config.schema import SchemaDict, SharedConfig, extract_schema
from .config.yaml_helpers import serializable from .config.yaml_helpers import serializable
...@@ -65,6 +66,8 @@ class AttrDict(dict): ...@@ -65,6 +66,8 @@ class AttrDict(dict):
global_config = AttrDict() global_config = AttrDict()
READER_KEY = '_READER_'
def load_config(file_path): def load_config(file_path):
""" """
...@@ -77,25 +80,59 @@ def load_config(file_path): ...@@ -77,25 +80,59 @@ def load_config(file_path):
""" """
_, ext = os.path.splitext(file_path) _, ext = os.path.splitext(file_path)
assert ext in ['.yml', '.yaml'], "only support yaml files for now" assert ext in ['.yml', '.yaml'], "only support yaml files for now"
cfg = AttrDict()
with open(file_path) as f: with open(file_path) as f:
cfg = merge_config(yaml.load(f, Loader=yaml.Loader), cfg)
if READER_KEY in cfg:
reader_cfg = cfg[READER_KEY]
if reader_cfg.startswith("~"):
reader_cfg = os.path.expanduser(reader_cfg)
if not reader_cfg.startswith('/'):
reader_cfg = os.path.join(os.path.dirname(file_path), reader_cfg)
with open(reader_cfg) as f:
merge_config(yaml.load(f, Loader=yaml.Loader)) merge_config(yaml.load(f, Loader=yaml.Loader))
del cfg[READER_KEY]
merge_config(cfg)
return global_config return global_config
def merge_config(config): def dict_merge(dct, merge_dct):
""" Recursive dict merge. Inspired by :meth:``dict.update()``, instead of
updating only top-level keys, dict_merge recurses down into dicts nested
to an arbitrary depth, updating keys. The ``merge_dct`` is merged into
``dct``.
Args:
dct: dict onto which the merge is executed
merge_dct: dct merged into dct
Returns: dct
"""
for k, v in merge_dct.items():
if (k in dct and isinstance(dct[k], dict) and
isinstance(merge_dct[k], collections.Mapping)):
dict_merge(dct[k], merge_dct[k])
else:
dct[k] = merge_dct[k]
return dct
def merge_config(config, another_cfg=None):
""" """
Merge config into global config. Merge config into global config or another_cfg.
Args: Args:
config (dict): Config to be merged. config (dict): Config to be merged.
Returns: global config Returns: global config
""" """
for key, value in config.items(): global global_config
if isinstance(value, dict) and key in global_config: dct = another_cfg if another_cfg is not None else global_config
global_config[key].update(value) return dict_merge(dct, config)
else:
global_config[key] = value
def get_registered_modules(): def get_registered_modules():
......
docs/DATA.md
\ No newline at end of file
docs/DATA_cn.md
\ No newline at end of file
...@@ -12,35 +12,8 @@ ...@@ -12,35 +12,8 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# function:
# module to prepare data for detection model training
#
# implementation notes:
# - Dateset
# basic interface to accessing data samples in stream mode
#
# - xxxSource (RoiDbSource)
# * subclass of 'Dataset'
# * load data from local files and other source data
#
# - xxxOperator (DecodeImage)
# * subclass of 'BaseOperator'
# * each op can transform a sample, eg: decode/resize/crop image
# * each op must obey basic rules defined in transform.operator.base
#
# - transformer
# * subclass of 'Dataset'
# * 'MappedDataset' accept a 'xxxSource' and a list of 'xxxOperator'
# to build a transformed 'Dataset'
from __future__ import absolute_import from __future__ import absolute_import
from .dataset import Dataset from .reader import *
from .reader import Reader from .source import *
import traceback from .transform import *
if traceback.extract_stack()[0][
0] == 'ppdet/data/tools/generate_data_for_training.py':
__all__ = ['Dataset', 'Reader']
else:
from .data_feed import create_reader
__all__ = ['Dataset', 'Reader', 'create_reader']
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册