提交 04a82281 编写于 作者: S sunxl1988

test=dygraph update train

上级 e4ccc4d7
...@@ -4,7 +4,7 @@ weights: output/faster_rcnn_r50_1x/model_final ...@@ -4,7 +4,7 @@ weights: output/faster_rcnn_r50_1x/model_final
use_gpu: true use_gpu: true
worker_num: 0 worker_num: 0
use_prefetch: False use_prefetch: False
epoch: 24 epoch: 12
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
metric: COCO metric: COCO
......
...@@ -2,14 +2,14 @@ architecture: MaskRCNN ...@@ -2,14 +2,14 @@ architecture: MaskRCNN
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
weights: output/mask_rcnn_r50_1x/model_final weights: output/mask_rcnn_r50_1x/model_final
use_gpu: true use_gpu: true
epoch: 24 epoch: 12
use_prefetch: False use_prefetch: False
worker_num: 0 worker_num: 0
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
load_static_weights: false load_static_weights: true
_READER_: '../reader/mask_rcnn.yml' _READER_: '../reader/mask_rcnn.yml'
_ARCHITECHTURE_: '../architechture/mask_rcnn.yml' _ARCHITECHTURE_: '../architechture/mask_rcnn.yml'
......
...@@ -2,7 +2,7 @@ architecture: MaskRCNN ...@@ -2,7 +2,7 @@ architecture: MaskRCNN
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
weights: output/mask_rcnn_r50_1x/model_final weights: output/mask_rcnn_r50_1x/model_final
use_gpu: true use_gpu: true
epoch: 24 epoch: 12
use_prefetch: False use_prefetch: False
worker_num: 0 worker_num: 0
log_smooth_window: 20 log_smooth_window: 20
......
...@@ -2,17 +2,19 @@ _BASE_: "configs/base/mask_rcnn_r50_1x.yml" ...@@ -2,17 +2,19 @@ _BASE_: "configs/base/mask_rcnn_r50_1x.yml"
use_gpu: true use_gpu: true
worker_num: 0 worker_num: 0
epoch: 24
log_smooth_window: 20 log_smooth_window: 20
save_dir: output save_dir: output
metric: COCO metric: COCO
num_classes: 81 num_classes: 81
load_static_weights: true
log_iter: 20 log_iter: 20
epoch: 12
TrainReader: TrainReader:
batch_size: 1
shuffle: true
inputs_def: inputs_def:
fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd', 'gt_poly'] fields: ['image', 'im_info', 'im_id', 'gt_bbox', 'gt_class', 'is_crowd', 'gt_poly']
dataset: dataset:
name: COCODataset name: COCODataset
dataset_dir: /home/ai/dataset/COCO17 dataset_dir: /dataset/coco
...@@ -11,4 +11,4 @@ weights: output/mask_r50_fpn_1x/model_final.pdparams ...@@ -11,4 +11,4 @@ weights: output/mask_r50_fpn_1x/model_final.pdparams
EvalReader: EvalReader:
dataset: dataset:
dataset_dir: /home/ai/dataset/COCO17 dataset_dir: /dataset/coco
...@@ -11,7 +11,6 @@ import paddle.fluid.optimizer as optimizer ...@@ -11,7 +11,6 @@ import paddle.fluid.optimizer as optimizer
import paddle.fluid.regularizer as regularizer import paddle.fluid.regularizer as regularizer
from paddle.fluid.layers.learning_rate_scheduler import _decay_step_counter from paddle.fluid.layers.learning_rate_scheduler import _decay_step_counter
from paddle.fluid.layers.ops import cos from paddle.fluid.layers.ops import cos
from ppdet.core.workspace import register, serializable from ppdet.core.workspace import register, serializable
__all__ = ['Optimize'] __all__ = ['Optimize']
...@@ -46,12 +45,11 @@ class PiecewiseDecay(object): ...@@ -46,12 +45,11 @@ class PiecewiseDecay(object):
value=None, value=None,
step_per_epoch=None): step_per_epoch=None):
if boundary is not None: if boundary is not None:
boundary.extend(self.milestones * int(step_per_epoch)) boundary.extend([int(step_per_epoch) * i for i in self.milestones])
if value is not None: if value is not None:
for i in self.gamma: for i in self.gamma:
value.append(base_lr * i) value.append(base_lr * i)
return fluid.dygraph.PiecewiseDecay(boundary, value, begin=0, step=1) return fluid.dygraph.PiecewiseDecay(boundary, value, begin=0, step=1)
......
...@@ -57,7 +57,7 @@ def load_dygraph_ckpt(model, ...@@ -57,7 +57,7 @@ def load_dygraph_ckpt(model,
ckpt = pretrain_ckpt ckpt = pretrain_ckpt
ckpt = get_ckpt_path(ckpt) ckpt = get_ckpt_path(ckpt)
assert os.path.exists(ckpt), "Path {} does not exist.".format(ckpt) assert os.path.exists(ckpt), "Path {} does not exist.".format(ckpt)
if load_static_weights: if load_static_weights and ckpt_type == 'pretrain':
pre_state_dict = fluid.load_program_state(ckpt) pre_state_dict = fluid.load_program_state(ckpt)
model_dict = model.state_dict() model_dict = model.state_dict()
param_state_dict = {} param_state_dict = {}
......
...@@ -107,7 +107,8 @@ def run(FLAGS, cfg, place): ...@@ -107,7 +107,8 @@ def run(FLAGS, cfg, place):
model = create(cfg.architecture) model = create(cfg.architecture)
# Optimizer # Optimizer
optimizer = create('Optimize')(model.parameters(), step_per_epoch) optimizer = create('Optimize')(model.parameters(), int(
step_per_epoch / int(ParallelEnv().nranks)))
# Init Model & Optimzer # Init Model & Optimzer
model = load_dygraph_ckpt( model = load_dygraph_ckpt(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册