Skip to content

Commit

Permalink
revert fluid.data to fluid.layers.data (#42)
Browse files Browse the repository at this point in the history
  • Loading branch information
jerrywgz committed Nov 26, 2019
1 parent 9229209 commit 50381ed
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 28 deletions.
6 changes: 2 additions & 4 deletions docs/EXPORT_MODEL.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@
使用[训练/评估/推断](GETTING_STARTED_cn.md)中训练得到的模型进行试用,脚本如下

```bash
# 导出FasterRCNN模型
# 导出FasterRCNN模型, 模型中data层默认的shape为3x800x1333
python tools/export_model.py -c configs/faster_rcnn_r50_1x.yml \
--output_dir=./inference_model \
-o weights=output/faster_rcnn_r50_1x/model_final \

```

- 预测模型会导出到`inference_model/faster_rcnn_r50_1x`目录下,模型名和参数名分别为`__model__``__params__`
预测模型会导出到`inference_model/faster_rcnn_r50_1x`目录下,模型名和参数名分别为`__model__``__params__`

## 设置导出模型的输入大小

Expand All @@ -46,5 +46,3 @@ python tools/export_model.py -c configs/ssd/ssd_mobilenet_v1_voc.yml \
-o weights= https://paddlemodels.bj.bcebos.com/object_detection/ssd_mobilenet_v1_voc.tar \
SSDTestFeed.image_shape=[3,300,300]
```

- 保存FPN系列模型时,需要保证上下采样维度一致,因此image_shape须设置为32的倍数
12 changes: 6 additions & 6 deletions ppdet/data/data_feed.py
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ def __init__(self,
'image', 'im_info', 'im_id', 'gt_box', 'gt_label',
'is_crowd'
],
image_shape=[3, None, None],
image_shape=[3, 800, 1333],
sample_transforms=[
DecodeImage(to_rgb=True),
RandomFlipImage(prob=0.5),
Expand Down Expand Up @@ -505,7 +505,7 @@ def __init__(self,
COCO_VAL_IMAGE_DIR).__dict__,
fields=['image', 'im_info', 'im_id', 'im_shape', 'gt_box',
'gt_label', 'is_difficult'],
image_shape=[3, None, None],
image_shape=[3, 800, 1333],
sample_transforms=[
DecodeImage(to_rgb=True),
NormalizeImage(mean=[0.485, 0.456, 0.406],
Expand Down Expand Up @@ -552,7 +552,7 @@ def __init__(self,
dataset=SimpleDataSet(COCO_VAL_ANNOTATION,
COCO_VAL_IMAGE_DIR).__dict__,
fields=['image', 'im_info', 'im_id', 'im_shape'],
image_shape=[3, None, None],
image_shape=[3, 800, 1333],
sample_transforms=[
DecodeImage(to_rgb=True),
NormalizeImage(mean=[0.485, 0.456, 0.406],
Expand Down Expand Up @@ -600,7 +600,7 @@ def __init__(self,
'image', 'im_info', 'im_id', 'gt_box', 'gt_label',
'is_crowd', 'gt_mask'
],
image_shape=[3, None, None],
image_shape=[3, 800, 1333],
sample_transforms=[
DecodeImage(to_rgb=True),
RandomFlipImage(prob=0.5, is_mask_flip=True),
Expand Down Expand Up @@ -646,7 +646,7 @@ def __init__(self,
dataset=CocoDataSet(COCO_VAL_ANNOTATION,
COCO_VAL_IMAGE_DIR).__dict__,
fields=['image', 'im_info', 'im_id', 'im_shape'],
image_shape=[3, None, None],
image_shape=[3, 800, 1333],
sample_transforms=[
DecodeImage(to_rgb=True),
NormalizeImage(mean=[0.485, 0.456, 0.406],
Expand Down Expand Up @@ -698,7 +698,7 @@ def __init__(self,
dataset=SimpleDataSet(COCO_VAL_ANNOTATION,
COCO_VAL_IMAGE_DIR).__dict__,
fields=['image', 'im_info', 'im_id', 'im_shape'],
image_shape=[3, None, None],
image_shape=[3, 800, 1333],
sample_transforms=[
DecodeImage(to_rgb=True),
NormalizeImage(
Expand Down
36 changes: 18 additions & 18 deletions ppdet/modeling/model_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,22 @@

# yapf: disable
feed_var_def = [
{'name': 'im_info', 'shape': [None, 3], 'dtype': 'float32', 'lod_level': 0},
{'name': 'im_id', 'shape': [None, 1], 'dtype': 'int32', 'lod_level': 0},
{'name': 'gt_box', 'shape': [None, 4], 'dtype': 'float32', 'lod_level': 1},
{'name': 'gt_label', 'shape': [None, 1], 'dtype': 'int32', 'lod_level': 1},
{'name': 'is_crowd', 'shape': [None, 1], 'dtype': 'int32', 'lod_level': 1},
{'name': 'gt_mask', 'shape': [None, 2], 'dtype': 'float32', 'lod_level': 3},
{'name': 'is_difficult', 'shape': [None, 1], 'dtype': 'int32', 'lod_level': 1},
{'name': 'gt_score', 'shape': [None, 1], 'dtype': 'float32', 'lod_level': 0},
{'name': 'im_shape', 'shape': [None, 3], 'dtype': 'float32', 'lod_level': 0},
{'name': 'im_size', 'shape': [None, 2], 'dtype': 'int32', 'lod_level': 0},
{'name': 'im_info', 'shape': [3], 'dtype': 'float32', 'lod_level': 0},
{'name': 'im_id', 'shape': [1], 'dtype': 'int32', 'lod_level': 0},
{'name': 'gt_box', 'shape': [4], 'dtype': 'float32', 'lod_level': 1},
{'name': 'gt_label', 'shape': [1], 'dtype': 'int32', 'lod_level': 1},
{'name': 'is_crowd', 'shape': [1], 'dtype': 'int32', 'lod_level': 1},
{'name': 'gt_mask', 'shape': [2], 'dtype': 'float32', 'lod_level': 3},
{'name': 'is_difficult', 'shape': [1], 'dtype': 'int32', 'lod_level': 1},
{'name': 'gt_score', 'shape': [1], 'dtype': 'float32', 'lod_level': 0},
{'name': 'im_shape', 'shape': [3], 'dtype': 'float32', 'lod_level': 0},
{'name': 'im_size', 'shape': [2], 'dtype': 'int32', 'lod_level': 0},
]
# yapf: enable


def create_feed(feed, iterable=False, sub_prog_feed=False):
image_shape = [None] + feed.image_shape
image_shape = feed.image_shape
feed_var_map = {var['name']: var for var in feed_var_def}
feed_var_map['image'] = {
'name': 'image',
Expand All @@ -52,10 +52,10 @@ def create_feed(feed, iterable=False, sub_prog_feed=False):
# tensor padding with 0 is used instead of LoD tensor when
# num_max_boxes is set
if getattr(feed, 'num_max_boxes', None) is not None:
feed_var_map['gt_label']['shape'] = [None, feed.num_max_boxes]
feed_var_map['gt_score']['shape'] = [None, feed.num_max_boxes]
feed_var_map['gt_box']['shape'] = [None, feed.num_max_boxes, 4]
feed_var_map['is_difficult']['shape'] = [None, feed.num_max_boxes]
feed_var_map['gt_label']['shape'] = [feed.num_max_boxes]
feed_var_map['gt_score']['shape'] = [feed.num_max_boxes]
feed_var_map['gt_box']['shape'] = [feed.num_max_boxes, 4]
feed_var_map['is_difficult']['shape'] = [feed.num_max_boxes]
feed_var_map['gt_label']['lod_level'] = 0
feed_var_map['gt_score']['lod_level'] = 0
feed_var_map['gt_box']['lod_level'] = 0
Expand Down Expand Up @@ -98,22 +98,22 @@ def create_feed(feed, iterable=False, sub_prog_feed=False):
'lod_level': 0
}
image_name_list.append(name)
feed_var_map['im_info']['shape'] = [None, feed.num_scale * 3]
feed_var_map['im_info']['shape'] = [feed.num_scale * 3]
feed.fields = image_name_list + feed.fields[1:]
if sub_prog_feed:
box_names = ['bbox', 'bbox_flip']
for box_name in box_names:
sub_prog_feed = {
'name': box_name,
'shape': [None, 6],
'shape': [6],
'dtype': 'float32',
'lod_level': 1
}

feed.fields = feed.fields + [box_name]
feed_var_map[box_name] = sub_prog_feed

feed_vars = OrderedDict([(key, fluid.data(
feed_vars = OrderedDict([(key, fluid.layers.data(
name=feed_var_map[key]['name'],
shape=feed_var_map[key]['shape'],
dtype=feed_var_map[key]['dtype'],
Expand Down

0 comments on commit 50381ed

Please sign in to comment.