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

test=dygraph update train

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