From 93de124cec4ffc84da1d7a5a63c78a8c6b5e62cc Mon Sep 17 00:00:00 2001 From: AIFollowers <42403163+AIFollowers@users.noreply.github.com> Date: Fri, 31 May 2019 13:54:14 +0800 Subject: [PATCH] modify some initializer api (#17301) * test=develop modify some initializer api * test=develop modify API.spec * test=develop modify API.spec * test=develop modify API.spec * test=develop modify API.spec --- paddle/fluid/API.spec | 4 +- python/paddle/fluid/initializer.py | 62 ++++++++++++++++++------------ 2 files changed, 39 insertions(+), 27 deletions(-) diff --git a/paddle/fluid/API.spec b/paddle/fluid/API.spec index 49b7b50cf88..19b2dd754e3 100644 --- a/paddle/fluid/API.spec +++ b/paddle/fluid/API.spec @@ -68,8 +68,8 @@ paddle.fluid.initializer.TruncatedNormalInitializer.__init__ (ArgSpec(args=['sel paddle.fluid.initializer.XavierInitializer.__init__ (ArgSpec(args=['self', 'uniform', 'fan_in', 'fan_out', 'seed'], varargs=None, keywords=None, defaults=(True, None, None, 0)), ('document', '6adf97f83acf6453d4a6a4b1070f3754')) paddle.fluid.initializer.BilinearInitializer.__init__ (ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None), ('document', 'd389912dc079cbef432335a00017cec0')) paddle.fluid.initializer.MSRAInitializer.__init__ (ArgSpec(args=['self', 'uniform', 'fan_in', 'seed'], varargs=None, keywords=None, defaults=(True, None, 0)), ('document', '53c757bed9345f2ad3361902531e7cf5')) -paddle.fluid.initializer.force_init_on_cpu (ArgSpec(args=[], varargs=None, keywords=None, defaults=None), ('document', '6d0f3e22c90d9d500d36ff57daf056ee')) -paddle.fluid.initializer.init_on_cpu (ArgSpec(args=[], varargs=None, keywords=None, defaults=None), ('document', 'a6d7011ca3d8c0d454dac3a56eae0c29')) +paddle.fluid.initializer.force_init_on_cpu (ArgSpec(args=[], varargs=None, keywords=None, defaults=None), ('document', '2c6748c1dd1d85f800462869ea7a747f')) +paddle.fluid.initializer.init_on_cpu (ArgSpec(args=[], varargs=None, keywords=None, defaults=None), ('document', '280b581f5a77e746e47decbc57a7b30a')) paddle.fluid.initializer.NumpyArrayInitializer.__init__ (ArgSpec(args=['self', 'value'], varargs=None, keywords=None, defaults=None), ('document', '6adf97f83acf6453d4a6a4b1070f3754')) paddle.fluid.layers.fc (ArgSpec(args=['input', 'size', 'num_flatten_dims', 'param_attr', 'bias_attr', 'act', 'is_test', 'name'], varargs=None, keywords=None, defaults=(1, None, None, None, False, None)), ('document', '424e898365195e3ccbc2e7dc8b63605e')) paddle.fluid.layers.embedding (ArgSpec(args=['input', 'size', 'is_sparse', 'is_distributed', 'padding_idx', 'param_attr', 'dtype'], varargs=None, keywords=None, defaults=(False, False, None, None, 'float32')), ('document', '6f9f96d2a1517cd1affebc960c3526f7')) diff --git a/python/paddle/fluid/initializer.py b/python/paddle/fluid/initializer.py index d73d7948547..0deafaff1bf 100644 --- a/python/paddle/fluid/initializer.py +++ b/python/paddle/fluid/initializer.py @@ -42,8 +42,9 @@ def force_init_on_cpu(): .. code-block:: python - if force_init_on_cpu(): - create_op('force_cpu': force_init_on_cpu()) + if fluid.initializer.force_init_on_cpu(): + step = fluid.layers.create_global_var( + shape=[2,3], value=1.0, dtype='float32') """ return _force_init_on_cpu_ @@ -57,8 +58,9 @@ def init_on_cpu(): Examples: .. code-block:: python - with init_on_cpu(): - step = layers.create_global_var() + with fluid.initializer.init_on_cpu(): + step = fluid.layers.create_global_var( + shape=[2,3], value=1.0, dtype='float32') """ global _force_init_on_cpu_ @@ -131,8 +133,10 @@ class ConstantInitializer(Initializer): Examples: .. code-block:: python - fc = fluid.layers.fc(input=x, size=10, - param_attr=fluid.initializer.Constant(value=2.0)) + x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32") + fc = fluid.layers.fc(input=x, size=10, + param_attr=fluid.initializer.Constant(value=2.0)) + """ def __init__(self, value=0.0, force_cpu=False): @@ -208,7 +212,7 @@ class UniformInitializer(Initializer): import paddle.fluid as fluid x = fluid.layers.data(name='x', shape=[1], dtype='float32') fc = fluid.layers.fc(input=x, size=10, - param_attr=fluid.initializer.Uniform(low=-0.5, high=0.5)) + param_attr=fluid.initializer.Uniform(low=-0.5, high=0.5)) """ def __init__(self, low=-1.0, high=1.0, seed=0): @@ -288,8 +292,10 @@ class NormalInitializer(Initializer): Examples: .. code-block:: python - fc = fluid.layers.fc(input=x, size=10, - param_attr=fluid.initializer.Normal(loc=0.0, scale=2.0)) + x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32") + fc = fluid.layers.fc(input=x, size=10, + param_attr=fluid.initializer.Normal(loc=0.0, scale=2.0)) + """ def __init__(self, loc=0.0, scale=1.0, seed=0): @@ -601,10 +607,11 @@ class MSRAInitializer(Initializer): Examples: .. code-block:: python + + x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32") + fc = fluid.layers.fc(input=x, size=10, + param_attr=fluid.initializer.MSRA(uniform=False)) - fc = fluid.layers.fc( - input=queries, size=10, - param_attr=fluid.initializer.MSRA(uniform=False)) """ def __init__(self, uniform=True, fan_in=None, seed=0): @@ -703,19 +710,24 @@ class BilinearInitializer(Initializer): .. code-block:: python - factor = 2 - w_attr = ParamAttr(learning_rate=0., regularizer=L2Decay(0.), - initializer=Bilinear()) - conv_up = fluid.layers.conv2d_transpose( - input, - num_filters=C, - output_size=None, - filter_size=2 * factor - factor % 2, - padding=ceil((factor - 1) / 2.), - stride=factor, - groups=C, - param_attr=w_attr, - bias_attr=False) + factor = 2 + C = 2 + w_attr = fluid.initializer.ParamAttr( + learning_rate=0., + regularizer=fluid.regularizer.L2Decay(0.), + initializer=fluid.initializer.Bilinear()) + x = fluid.layers.data(name="data", shape=[3, 32, 32], + dtype="float32") + conv_up = fluid.layers.conv2d_transpose( + input=x, + num_filters=C, + output_size=None, + filter_size=2 * factor - factor % 2, + padding=int(math.ceil((factor - 1) / 2.)), + stride=factor, + groups=C, + param_attr=w_attr, + bias_attr=False) Where, `num_filters=C` and `groups=C` means this is channel-wise transposed convolution. The filter shape will be (C, 1, K, K) where K is `filer_size`, -- GitLab