diff --git a/proto/ModelConfig.proto.m4 b/proto/ModelConfig.proto.m4 index aea77248cbac0f3ee044b05894d37718e692a0fc..c835cfd5221c8579b383c0a6f0b2f0f554eac6d2 100644 --- a/proto/ModelConfig.proto.m4 +++ b/proto/ModelConfig.proto.m4 @@ -92,7 +92,7 @@ message PoolConfig { optional uint32 start = 4; // Defines the stride size between successive pooling squares. - required uint32 stride = 5; + required uint32 stride = 5 [default = 1]; // The size of output feature map. required uint32 output_x = 6; @@ -105,19 +105,19 @@ message PoolConfig { optional uint32 padding = 8 [default = 0]; // if not set, use size_x - optional uint32 size_y = 9 [default = 0]; + optional uint32 size_y = 9; // if not set, use stride - optional uint32 stride_y = 10 [default = 0]; + optional uint32 stride_y = 10; // if not set, use output_x - optional uint32 output_y = 11 [default = 0]; + optional uint32 output_y = 11; // if not set, use img_size - optional uint32 img_size_y = 12 [default = 0]; + optional uint32 img_size_y = 12; // if not set, use padding - optional uint32 padding_y = 13 [default = 0]; + optional uint32 padding_y = 13; } message SppConfig { diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index dbe2f3b29278c259945564959690a3aa6c0cfbe0..9db42bf172a77ff0972107dd26eed3882bf5906e 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -592,6 +592,7 @@ class DotMulProjection(Projection): def calc_parameter_dims(self, input_size, output_size): return [1, output_size] + # ScalingProjection @config_class class ScalingProjection(Projection): @@ -808,17 +809,18 @@ class BilinearInterp(Cfg): # please refer to the comments in proto/ModelConfig.proto @config_class class Pool(Cfg): - def __init__(self, - pool_type, - channels, - size_x, - size_y=None, - img_width=None, - start=None, - stride=None, - stride_y=None, - padding=None, - padding_y=None): + def __init__( + self, + pool_type, + channels, + size_x, + size_y=None, + img_width=None, + start=None, + stride=None, # 1 by defalut in protobuf + stride_y=None, + padding=None, # 0 by defalut in protobuf + padding_y=None): self.add_keys(locals()) @@ -1113,13 +1115,13 @@ def parse_pool(pool, input_layer_name, pool_conf): if pool.padding is not None: pool_conf.padding = pool.padding - pool_conf.padding_y = default(pool.padding_y, pool_conf.padding) - pool_conf.output_x = cnn_output_size( - pool_conf.img_size, pool_conf.size_x, pool_conf.padding, - pool_conf.stride, False) - pool_conf.output_y = cnn_output_size( - pool_conf.img_size_y, pool_conf.size_y, pool_conf.padding_y, - pool_conf.stride_y, False) + pool_conf.padding_y = default(pool.padding_y, pool_conf.padding) + pool_conf.output_x = cnn_output_size(pool_conf.img_size, pool_conf.size_x, + pool_conf.padding, pool_conf.stride, + False) + pool_conf.output_y = cnn_output_size(pool_conf.img_size_y, pool_conf.size_y, + pool_conf.padding_y, + pool_conf.stride_y, False) def parse_spp(spp, input_layer_name, spp_conf):