From 5d98b6f217f8c59ae32f7dabefb69037d80f9cb2 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Mon, 21 Aug 2017 16:32:29 +0800 Subject: [PATCH 01/66] Adapting to the BatchNorm structure to support 3D data --- paddle/gserver/layers/BatchNormBaseLayer.cpp | 6 ++- paddle/gserver/layers/BatchNormBaseLayer.h | 1 + paddle/gserver/tests/test_LayerGrad.cpp | 49 ++++++++++++++++++++ paddle/parameter/Argument.cpp | 2 + paddle/parameter/Argument.h | 8 ++-- proto/ModelConfig.proto | 13 ++++++ 6 files changed, 75 insertions(+), 4 deletions(-) diff --git a/paddle/gserver/layers/BatchNormBaseLayer.cpp b/paddle/gserver/layers/BatchNormBaseLayer.cpp index 1ceaaaa206..f7a80e23e1 100644 --- a/paddle/gserver/layers/BatchNormBaseLayer.cpp +++ b/paddle/gserver/layers/BatchNormBaseLayer.cpp @@ -62,14 +62,18 @@ void BatchNormBaseLayer::calFeatureMapSize() { const ImageConfig& conf = config_.inputs(0).image_conf(); imageH_ = inputLayers_[0]->getOutput().getFrameHeight(); imageW_ = inputLayers_[0]->getOutput().getFrameWidth(); + imageD_ = inputLayers_[0]->getOutput().getFrameDepth(); + + if (0 == imageD_) imageD_ = conf.img_size_z(); if (imageH_ == 0 && imageW_ == 0) { imageH_ = conf.has_img_size_y() ? conf.img_size_y() : conf.img_size(); imageW_ = conf.img_size(); } else { getOutput().setFrameHeight(imageH_); getOutput().setFrameWidth(imageW_); + getOutput().setFrameDepth(imageD_); } - imgPixels_ = imageH_ * imageW_; + imgPixels_ = imageH_ * imageW_ * imageD_; } } // namespace paddle diff --git a/paddle/gserver/layers/BatchNormBaseLayer.h b/paddle/gserver/layers/BatchNormBaseLayer.h index 230bafc31d..e721d2d267 100644 --- a/paddle/gserver/layers/BatchNormBaseLayer.h +++ b/paddle/gserver/layers/BatchNormBaseLayer.h @@ -80,6 +80,7 @@ protected: /// Height or width of input image feature. /// Both of them are 1 if the input is fully-connected layer. + int imageD_; int imageH_; int imageW_; /// Height * Width. diff --git a/paddle/gserver/tests/test_LayerGrad.cpp b/paddle/gserver/tests/test_LayerGrad.cpp index 0f312b6ca5..6418772584 100644 --- a/paddle/gserver/tests/test_LayerGrad.cpp +++ b/paddle/gserver/tests/test_LayerGrad.cpp @@ -1594,6 +1594,55 @@ TEST(Layer, BatchNormalizationLayer) { #endif } +void testBatchNorm3DLayer(const string& type, bool trans, bool useGpu) { + TestConfig config; + const int CHANNELS = 10; + const int IMG_SIZE = 16; + const int IMG_SIZE_Y = 8; + const int IMG_SIZE_Z = 8; + size_t size = CHANNELS * IMG_SIZE * IMG_SIZE_Y * IMG_SIZE_Z; + config.layerConfig.set_type(type); + config.layerConfig.set_size(size); + config.layerConfig.set_active_type("sigmoid"); + config.biasSize = CHANNELS; + config.inputDefs.push_back({INPUT_DATA, + "layer_0", + /* dim= */ size, + /* paraSize= */ CHANNELS}); + + config.inputDefs.push_back({INPUT_DATA, "layer_1_running_mean", 1, CHANNELS}); + config.inputDefs.back().isStatic = true; + config.inputDefs.push_back({INPUT_DATA, "layer_2_running_var", 1, CHANNELS}); + config.inputDefs.back().isStatic = true; + + LayerInputConfig* input = config.layerConfig.add_inputs(); + config.layerConfig.add_inputs(); + config.layerConfig.add_inputs(); + + ImageConfig* img_conf = input->mutable_image_conf(); + img_conf->set_channels(CHANNELS); + img_conf->set_img_size(IMG_SIZE); + img_conf->set_img_size_y(IMG_SIZE_Y); + img_conf->set_img_size_z(IMG_SIZE_Z); + + testLayerGrad(config, + "batch_norm", + 64, + /* trans= */ trans, + useGpu, + /* useWeight */ true); +} + +TEST(Layer, testBatchNorm3DLayer) { + testBatchNorm3DLayer("batch_norm", false, false); +#ifndef PADDLE_ONLY_CPU + testBatchNorm3DLayer("batch_norm", false, true); + if (hl_get_cudnn_lib_version() >= int(4000)) { + testBatchNorm3DLayer("cudnn_batch_norm", false, true); + } +#endif +} + void testConvOperator(bool isDeconv) { TestConfig config; const int NUM_FILTERS = 16; diff --git a/paddle/parameter/Argument.cpp b/paddle/parameter/Argument.cpp index 0547ac93cd..77fd0c5890 100644 --- a/paddle/parameter/Argument.cpp +++ b/paddle/parameter/Argument.cpp @@ -186,6 +186,7 @@ void Argument::resizeAndCopyFrom(const Argument& src, resizeAndCopy(strs, src.strs, useGpu, stream); frameWidth = src.frameWidth; frameHeight = src.frameHeight; + frameDepth = src.frameDepth; } int32_t Argument::resizeAndCopyFrom(const Argument& src, @@ -206,6 +207,7 @@ int32_t Argument::resizeAndCopyFrom(const Argument& src, dataId = src.dataId; frameWidth = src.frameWidth; frameHeight = src.frameHeight; + frameDepth = src.frameDepth; if (!src.sequenceStartPositions) { // non-sequence input, copy samples directly diff --git a/paddle/parameter/Argument.h b/paddle/parameter/Argument.h index d8d7a4398f..ba3ad2fd4d 100644 --- a/paddle/parameter/Argument.h +++ b/paddle/parameter/Argument.h @@ -1,11 +1,8 @@ /* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -35,6 +32,7 @@ struct Argument { strs(nullptr), frameHeight(0), frameWidth(0), + frameDepth(0), sequenceStartPositions(nullptr), subSequenceStartPositions(nullptr), cpuSequenceDims(nullptr), @@ -64,6 +62,7 @@ struct Argument { allCount = argument.allCount; frameHeight = argument.frameHeight; frameWidth = argument.frameWidth; + frameDepth = argument.frameDepth; dataId = argument.dataId; } @@ -76,6 +75,7 @@ struct Argument { // A dataBatch includes batchSize frames, one frame maybe not only vector size_t frameHeight; size_t frameWidth; + size_t frameDepth; // If NULL, each position is treated independently. // Otherwise, its size should be #NumberOfSequences + 1. @@ -136,8 +136,10 @@ struct Argument { } size_t getFrameHeight() const { return frameHeight; } size_t getFrameWidth() const { return frameWidth; } + size_t getFrameDepth() const { return frameDepth; } void setFrameHeight(size_t h) { frameHeight = h; } void setFrameWidth(size_t w) { frameWidth = w; } + void setFrameDepth(size_t d) { frameDepth = d; } int64_t getNumSequences() const { return sequenceStartPositions ? sequenceStartPositions->getSize() - 1 diff --git a/proto/ModelConfig.proto b/proto/ModelConfig.proto index 4f3d5bf3f6..ef2b076c33 100644 --- a/proto/ModelConfig.proto +++ b/proto/ModelConfig.proto @@ -82,6 +82,12 @@ message ConvConfig { // if not set, use img_size optional uint32 img_size_y = 14; + + optional uint32 filter_size_z = 15 [ default = 1 ]; + optional uint32 padding_z = 16 [ default = 1 ]; + optional uint32 stride_z = 17 [ default = 1 ]; + optional uint32 output_z = 18 [ default = 1 ]; + optional uint32 img_size_z = 19 [ default = 1 ]; } message PoolConfig { @@ -124,6 +130,12 @@ message PoolConfig { // if not set, use padding optional uint32 padding_y = 13; + + optional uint32 size_z = 14 [ default = 1 ]; + optional uint32 stride_z = 15 [ default = 1 ]; + optional uint32 output_z = 16 [ default = 1 ]; + optional uint32 img_size_z = 17 [ default = 1 ]; + optional uint32 padding_z = 18 [ default = 1 ]; } message SppConfig { @@ -256,6 +268,7 @@ message ImageConfig { // The size of input feature map. required uint32 img_size = 8; optional uint32 img_size_y = 9; + optional uint32 img_size_z = 10 [ default = 1 ]; } message PriorBoxConfig { From 46034faf97e7a135756d36391f5c4a970fed92ab Mon Sep 17 00:00:00 2001 From: Helin Wang <ustc.harry@gmail.com> Date: Tue, 29 Aug 2017 16:05:10 -0700 Subject: [PATCH 02/66] Design doc: operator based parameter server. --- doc/design/ops/dist_train.md | 82 +++++++++++++++++++++++++ doc/design/ops/src/dist-graph.graffle | Bin 0 -> 4915 bytes doc/design/ops/src/dist-graph.png | Bin 0 -> 133866 bytes doc/design/ops/src/local-graph.graffle | Bin 0 -> 2515 bytes doc/design/ops/src/local-graph.png | Bin 0 -> 31493 bytes 5 files changed, 82 insertions(+) create mode 100644 doc/design/ops/dist_train.md create mode 100644 doc/design/ops/src/dist-graph.graffle create mode 100644 doc/design/ops/src/dist-graph.png create mode 100644 doc/design/ops/src/local-graph.graffle create mode 100644 doc/design/ops/src/local-graph.png diff --git a/doc/design/ops/dist_train.md b/doc/design/ops/dist_train.md new file mode 100644 index 0000000000..0380826b0d --- /dev/null +++ b/doc/design/ops/dist_train.md @@ -0,0 +1,82 @@ +# Design Doc: Operation Graph Based Parameter Server + +## Abstract + +We propose an approach to implment the parameter server. In this +approach, there is no fundimental difference between the trainer and +the parameter server: they both run sub-graphs, but sub-graphs of +different purposes. + +## Background + +The previous implementations of the parameter server does not run a +sub-graph. parameter initialization, optimizer computation, network +communication and checkpointing are implemented twice on both the +trainer and the parameter server. + +It would be great if we can write code once and use them on both the +trainer and the parameter server: reduces code duplication and +improves extensibility. Given during the current refactor, we are +representing everything as a computing graph on the +trainer. Representing everything as a computing graph on the parameter +server becomes a natural extension. + +## Design + +### Graph Converter + +The *graph converter* converts user-defined operation (OP) graph into +sub-graphs to be scheduled on different nodes. + +1. The user-defined OP graph will be cut into sub-graphs of +different purposes (e.g., trainer, parameter server) to run on +different workers. + +1. OPs will be added to the subgraphs, so the subgraphs can +communicate with each other. We will need these OPs: *send*, *recv*, +*gradient accumulator*, *string accumulator*, *loop forever*. + +Below is an example of converting the user defined graph to the +sub-graphs for the trainer and the parameter server: + +<img src="src/local-graph.png"/> + +After converting: + +<img src="src/dist-graph.png"/> + +1. The parameter variable W and it's optimizer subgraph are placed on the parameter server. +1. Operators are added to the sub-graphs. + - *send* operator sends data and sender's address to the destination. + - *recv* operator receives data and sender's address from the + destination. It will block until data has been received. + - *gradient accumulator* operator accumulates *N* pieces of + gradients. N=1 in Async-SGD, N>1 in Sync-SGD. + - *string accumulator* accumulates *N* pieces of strings into a + list of strings. N=1 in Async-SGD, N>1 in Sync-SGD. + - *loop forever* runs itself as a target forever. + +### Benefits + +- Model parallelism become easier to implement: it's an extension to + the trainer - parameter server approach. we already have the + communication OPs, but need to extend the graph converter. + +- User-defined optimizer is easier to add - user can now express it as + a subgraph. + +- No more duplication logic inside the trainer and the parameter + server in the background section. + +### Challenges + +- It might be hard for the graph converter to cut a general graph + (without any hint for which sub-graph is the optimizer). We may need + to label which sub-graph inside the OP graph is the optimizer. + +- It's important to balance the parameter shards of on multiple + parameter server. If a single parameter is very big (some + word-embedding, fully connected, softmax layer), we need to + automatically partition the single parameter onto different + parameter servers when possible (only element-wise optimizer depends + on the parameter variable). diff --git a/doc/design/ops/src/dist-graph.graffle b/doc/design/ops/src/dist-graph.graffle new file mode 100644 index 0000000000000000000000000000000000000000..1e1cb18dfecd9ee956ce4fe721a9bec4a24282c2 GIT binary patch literal 4915 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 literal 0 HcmV?d00001 diff --git a/doc/design/ops/src/dist-graph.png b/doc/design/ops/src/dist-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..6f49dce07415025ade04bf0227f652c98540a056 GIT binary patch literal 133866 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¬0e2H(5=N~^^ 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 literal 0 HcmV?d00001 diff --git a/doc/design/ops/src/local-graph.graffle b/doc/design/ops/src/local-graph.graffle new file mode 100644 index 0000000000000000000000000000000000000000..d167d0412bbcddb3458664f507ea6d215afbeae3 GIT binary patch literal 2515 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 literal 0 HcmV?d00001 diff --git a/doc/design/ops/src/local-graph.png b/doc/design/ops/src/local-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea9b36076ca8f4042755675d719e173a5b0a8fe GIT binary patch literal 31493 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 literal 0 HcmV?d00001 From 0e80f74cb54fa4fdc1a1b3170392c8d433dee87d Mon Sep 17 00:00:00 2001 From: Helin Wang <ustc.harry@gmail.com> Date: Tue, 29 Aug 2017 16:07:26 -0700 Subject: [PATCH 03/66] change image size --- doc/design/ops/dist_train.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/design/ops/dist_train.md b/doc/design/ops/dist_train.md index 0380826b0d..0bc350d8c0 100644 --- a/doc/design/ops/dist_train.md +++ b/doc/design/ops/dist_train.md @@ -39,11 +39,11 @@ communicate with each other. We will need these OPs: *send*, *recv*, Below is an example of converting the user defined graph to the sub-graphs for the trainer and the parameter server: -<img src="src/local-graph.png"/> +<img src="src/local-graph.png" width="300"/> After converting: -<img src="src/dist-graph.png"/> +<img src="src/dist-graph.png" width="500"/> 1. The parameter variable W and it's optimizer subgraph are placed on the parameter server. 1. Operators are added to the sub-graphs. From 75856ec3370358b0c182e03095032a01c8202fa7 Mon Sep 17 00:00:00 2001 From: Helin Wang <ustc.harry@gmail.com> Date: Tue, 29 Aug 2017 16:17:49 -0700 Subject: [PATCH 04/66] fix typo --- doc/design/ops/dist_train.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/design/ops/dist_train.md b/doc/design/ops/dist_train.md index 0bc350d8c0..8e92c87a59 100644 --- a/doc/design/ops/dist_train.md +++ b/doc/design/ops/dist_train.md @@ -2,8 +2,8 @@ ## Abstract -We propose an approach to implment the parameter server. In this -approach, there is no fundimental difference between the trainer and +We propose an approach to implement the parameter server. In this +approach, there is no fundamental difference between the trainer and the parameter server: they both run sub-graphs, but sub-graphs of different purposes. @@ -16,7 +16,7 @@ trainer and the parameter server. It would be great if we can write code once and use them on both the trainer and the parameter server: reduces code duplication and -improves extensibility. Given during the current refactor, we are +improves extensibility. Given that after the current refactor, we are representing everything as a computing graph on the trainer. Representing everything as a computing graph on the parameter server becomes a natural extension. @@ -25,8 +25,8 @@ server becomes a natural extension. ### Graph Converter -The *graph converter* converts user-defined operation (OP) graph into -sub-graphs to be scheduled on different nodes. +The *graph converter* converts the user-defined operation (OP) graph +into sub-graphs to be scheduled on different nodes. 1. The user-defined OP graph will be cut into sub-graphs of different purposes (e.g., trainer, parameter server) to run on @@ -66,7 +66,7 @@ After converting: a subgraph. - No more duplication logic inside the trainer and the parameter - server in the background section. + server mentioned in the background section. ### Challenges From 3b0e43aa6ab4f30ca960537b13f600cc36d6066e Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Wed, 30 Aug 2017 23:09:58 +0800 Subject: [PATCH 05/66] add config parse --- proto/ModelConfig.proto | 2 + python/paddle/trainer/config_parser.py | 90 +++++++++++++++++-- .../paddle/trainer_config_helpers/layers.py | 15 +++- .../tests/configs/test_BatchNorm3D.py | 17 ++++ .../tests/layers_test.py | 2 +- 5 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py diff --git a/proto/ModelConfig.proto b/proto/ModelConfig.proto index 95c236ad88..0525fb9dc3 100644 --- a/proto/ModelConfig.proto +++ b/proto/ModelConfig.proto @@ -515,6 +515,8 @@ message LayerConfig { // for HuberRegressionLoss optional double delta = 57 [ default = 1.0 ]; + // for 3D data + optional double depth = 58 [ default = 1 ]; } message EvaluatorConfig { diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index c11037c3c8..bc9aacaf11 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -1172,6 +1172,20 @@ def get_img_size(input_layer_name, channels): return img_size, img_size_y +def get_img3d_size(input_layer_name, channels): + input = g_layer_map[input_layer_name] + img_pixels = input.size / channels + img_size = input.width + img_size_y = input.height + img_size_z = input.depth + + config_assert( + img_size * img_size_y * img_size_z == img_pixels, + "Input layer %s: Incorrect input image size %d * %d * %d for input image pixels %d" + % (input_layer_name, img_size, img_size_y, img_size_z, img_pixels)) + return img_size, img_size_y, img_size_z + + def parse_bilinear(bilinear, input_layer_name, bilinear_conf): parse_image(bilinear, input_layer_name, bilinear_conf.image_conf) bilinear_conf.out_size_x = bilinear.out_size_x @@ -1224,6 +1238,12 @@ def parse_image(image, input_layer_name, image_conf): get_img_size(input_layer_name, image_conf.channels) +def parse_image3d(image, input_layer_name, image_conf): + image_conf.channels = image.channels + image_conf.img_size, image_conf.img_size_y, image_conf.img_size_z = \ + get_img3d_size(input_layer_name, image_conf.channels) + + def parse_norm(norm, input_layer_name, norm_conf): norm_conf.norm_type = norm.norm_type config_assert( @@ -1585,6 +1605,9 @@ class LayerBase(object): self.config.height = height self.config.width = width + def set_layer_depth(self, depth): + self.config.depth = depth + def set_cnn_layer(self, input_layer_name, height, @@ -1788,11 +1811,19 @@ class DetectionOutputLayer(LayerBase): @config_layer('data') class DataLayer(LayerBase): - def __init__(self, name, size, height=None, width=None, device=None): + def __init__(self, + name, + size, + depth=None, + height=None, + width=None, + device=None): super(DataLayer, self).__init__( name, 'data', size, inputs=[], device=device) if height and width: self.set_layer_height_width(height, width) + if depth: + self.set_layer_depth(depth) ''' @@ -2077,6 +2108,7 @@ class BatchNormLayer(LayerBase): name, inputs, bias=True, + img3D=False, use_global_stats=True, moving_average_fraction=0.9, batch_norm_type=None, @@ -2121,15 +2153,33 @@ class BatchNormLayer(LayerBase): input_layer = self.get_input_layer(0) image_conf = self.config.inputs[0].image_conf - parse_image(self.inputs[0].image, input_layer.name, image_conf) - - # Only pass the width and height of input to batch_norm layer - # when either of it is non-zero. - if input_layer.width != 0 or input_layer.height != 0: - self.set_cnn_layer(name, image_conf.img_size_y, image_conf.img_size, - image_conf.channels, False) + if img3D: + parse_image3d(self.inputs[0].image, input_layer.name, image_conf) + # Only pass the width and height of input to batch_norm layer + # when either of it is non-zero. + if input_layer.width != 0 or input_layer.height != 0: + self.set_cnn_layer( + input_layer_name=name, + depth=image_conf.img_size_z, + height=image_conf.img_size_y, + width=image_conf.img_size, + channels=image_conf.channels, + is_print=True) + else: + self.set_layer_size(input_layer.size) else: - self.set_layer_size(input_layer.size) + parse_image(self.inputs[0].image, input_layer.name, image_conf) + # Only pass the width and height of input to batch_norm layer + # when either of it is non-zero. + if input_layer.width != 0 or input_layer.height != 0: + self.set_cnn_layer( + input_layer_name=name, + height=image_conf.img_size_y, + width=image_conf.img_size, + channels=image_conf.channels, + is_print=True) + else: + self.set_layer_size(input_layer.size) psize = self.calc_parameter_size(image_conf) dims = [1, psize] @@ -2139,6 +2189,28 @@ class BatchNormLayer(LayerBase): self.create_bias_parameter(bias, psize) + def set_cnn_layer(self, + input_layer_name, + depth=None, + height=None, + width=None, + channels=None, + is_print=True): + depthIsNone = False + if depth is None: + depth = 1 + depthIsNone = True + size = depth * height * width * channels + self.set_layer_size(size) + self.set_layer_height_width(height, width) + self.set_layer_depth(depth) + if is_print and depthIsNone: + print("output for %s: c = %d, h = %d, w = %d, size = %d" % + (input_layer_name, channels, height, width, size)) + elif is_print: + print("output for %s: c = %d, d = %d, h = %d, w = %d, size = %d" % + (input_layer_name, channels, depth, height, width, size)) + def calc_parameter_size(self, image_conf): return image_conf.channels diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index a525ce71d0..35c84ad597 100755 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -166,6 +166,7 @@ class LayerType(object): EXCONVTRANS_LAYER = 'exconvt' CUDNNCONV_LAYER = 'cudnn_conv' POOL_LAYER = 'pool' + POOL3D_LAYER = 'pool3d' BATCH_NORM_LAYER = 'batch_norm' NORM_LAYER = 'norm' SUM_TO_ONE_NORM_LAYER = 'sum_to_one_norm' @@ -894,7 +895,8 @@ def mixed_layer(size=0, @layer_support() -def data_layer(name, size, height=None, width=None, layer_attr=None): +def data_layer(name, size, depth=None, height=None, width=None, + layer_attr=None): """ Define DataLayer For NeuralNetwork. @@ -921,15 +923,18 @@ def data_layer(name, size, height=None, width=None, layer_attr=None): type=LayerType.DATA, name=name, size=size, + depth=depth, height=height, width=width, **ExtraLayerAttribute.to_kwargs(layer_attr)) + if depth is None: + depth = 1 num_filters = None if height is not None and width is not None: - num_filters = size / (width * height) - assert num_filters * width * height == size, \ - "size=%s width=%s height=%s" % (size, width, height) + num_filters = size / (width * height * depth) + assert num_filters * width * height * depth == size, \ + "size=%s width=%s height=%s depth=%s" % (size, width, height, depth) return LayerOutput(name, LayerType.DATA, size=size, num_filters=num_filters) @@ -2799,6 +2804,7 @@ def img_cmrnorm_layer(input, def batch_norm_layer(input, act=None, name=None, + img3D=False, num_channels=None, bias_attr=None, param_attr=None, @@ -2885,6 +2891,7 @@ def batch_norm_layer(input, (batch_norm_type == "cudnn_batch_norm") l = Layer( name=name, + img3D=img3D, inputs=Input( input.name, image=Image(channels=num_channels), **param_attr.attr), active_type=act.name, diff --git a/python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py b/python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py new file mode 100644 index 0000000000..af694382b6 --- /dev/null +++ b/python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py @@ -0,0 +1,17 @@ +from paddle.trainer_config_helpers import * + +settings(batch_size=1000, learning_rate=1e-4) + +data = data_layer(name='data', size=180, width=30, height=6) +# +batchNorm = batch_norm_layer(data, num_channels=1) +# +outputs(batchNorm) + +# # +data3D = data_layer(name='data3D22', size=120 * 3, width=20, height=6, depth=3) +# +print(data3D) +batchNorm3D = batch_norm_layer(data3D, num_channels=1, img3D=True) +# +outputs(batchNorm3D) diff --git a/python/paddle/trainer_config_helpers/tests/layers_test.py b/python/paddle/trainer_config_helpers/tests/layers_test.py index 05902ea293..68c8e128cb 100644 --- a/python/paddle/trainer_config_helpers/tests/layers_test.py +++ b/python/paddle/trainer_config_helpers/tests/layers_test.py @@ -16,4 +16,4 @@ from paddle.trainer.config_parser import parse_config_and_serialize if __name__ == '__main__': parse_config_and_serialize( - 'trainer_config_helpers/tests/layers_test_config.py', '') + 'trainer_config_helpers/tests/configs/test_BatchNorm3D.py', '') From 30c0df6d27198867f8c9ef0c098505eeaded1522 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Thu, 31 Aug 2017 13:49:42 +0800 Subject: [PATCH 06/66] fix layers_test.py --- python/paddle/trainer_config_helpers/tests/configs/file_list.sh | 2 +- python/paddle/trainer_config_helpers/tests/layers_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python/paddle/trainer_config_helpers/tests/configs/file_list.sh b/python/paddle/trainer_config_helpers/tests/configs/file_list.sh index 1ca5c8a07e..8462f2d710 100755 --- a/python/paddle/trainer_config_helpers/tests/configs/file_list.sh +++ b/python/paddle/trainer_config_helpers/tests/configs/file_list.sh @@ -9,6 +9,6 @@ test_seq_concat_reshape test_pad test_smooth_l1 test_multiplex_layer test_prelu_layer test_row_conv test_detection_output_layer test_multibox_loss_layer test_recursive_topology test_gated_unit_layer test_clip_layer test_row_l2_norm_layer test_kmax_seq_socre_layer test_seq_select_layers test_scale_shift_layer -test_seq_slice_layer) +test_seq_slice_layer test_BatchNorm3D) export whole_configs=(test_split_datasource) diff --git a/python/paddle/trainer_config_helpers/tests/layers_test.py b/python/paddle/trainer_config_helpers/tests/layers_test.py index 68c8e128cb..05902ea293 100644 --- a/python/paddle/trainer_config_helpers/tests/layers_test.py +++ b/python/paddle/trainer_config_helpers/tests/layers_test.py @@ -16,4 +16,4 @@ from paddle.trainer.config_parser import parse_config_and_serialize if __name__ == '__main__': parse_config_and_serialize( - 'trainer_config_helpers/tests/configs/test_BatchNorm3D.py', '') + 'trainer_config_helpers/tests/layers_test_config.py', '') From 3ad748e225f7c5537338b1a5786924b93363c12d Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Thu, 31 Aug 2017 16:23:12 +0800 Subject: [PATCH 07/66] Fix img_layers.protostr,img_trans_layers.protostr. Add test_BatchNorm3D.protostr --- .../configs/protostr/img_layers.protostr | 1 + .../protostr/img_trans_layers.protostr | 1 + .../protostr/test_BatchNorm3D.protostr | 92 +++++++++++++++++++ .../tests/configs/test_BatchNorm3D.py | 14 +-- 4 files changed, 98 insertions(+), 10 deletions(-) create mode 100644 python/paddle/trainer_config_helpers/tests/configs/protostr/test_BatchNorm3D.protostr diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/img_layers.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/img_layers.protostr index 1a577b8d9b..5ddf6052df 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/img_layers.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/img_layers.protostr @@ -62,6 +62,7 @@ layers { moving_average_fraction: 0.9 height: 227 width: 227 + depth: 1 } layers { name: "__crmnorm_0__" diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/img_trans_layers.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/img_trans_layers.protostr index 2818389b16..c0252b945b 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/img_trans_layers.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/img_trans_layers.protostr @@ -62,6 +62,7 @@ layers { moving_average_fraction: 0.9 height: 256 width: 256 + depth: 1 } layers { name: "__crmnorm_0__" diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_BatchNorm3D.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_BatchNorm3D.protostr new file mode 100644 index 0000000000..832ed24a31 --- /dev/null +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_BatchNorm3D.protostr @@ -0,0 +1,92 @@ +type: "nn" +layers { + name: "data3D" + type: "data" + size: 360 + active_type: "" + height: 6 + width: 20 + depth: 3 +} +layers { + name: "__batch_norm_0__" + type: "batch_norm" + size: 360 + active_type: "relu" + inputs { + input_layer_name: "data3D" + input_parameter_name: "___batch_norm_0__.w0" + image_conf { + channels: 1 + img_size: 20 + img_size_y: 6 + img_size_z: 3 + } + } + inputs { + input_layer_name: "data3D" + input_parameter_name: "___batch_norm_0__.w1" + } + inputs { + input_layer_name: "data3D" + input_parameter_name: "___batch_norm_0__.w2" + } + bias_parameter_name: "___batch_norm_0__.wbias" + moving_average_fraction: 0.9 + height: 6 + width: 20 + depth: 3 +} +parameters { + name: "___batch_norm_0__.w0" + size: 1 + initial_mean: 1.0 + initial_std: 0.0 + initial_strategy: 0 + initial_smart: false +} +parameters { + name: "___batch_norm_0__.w1" + size: 1 + initial_mean: 0.0 + initial_std: 0.0 + dims: 1 + dims: 1 + initial_strategy: 0 + initial_smart: false + is_static: true + is_shared: true +} +parameters { + name: "___batch_norm_0__.w2" + size: 1 + initial_mean: 0.0 + initial_std: 0.0 + dims: 1 + dims: 1 + initial_strategy: 0 + initial_smart: false + is_static: true + is_shared: true +} +parameters { + name: "___batch_norm_0__.wbias" + size: 1 + initial_mean: 0.0 + initial_std: 0.0 + dims: 1 + dims: 1 + initial_strategy: 0 + initial_smart: false +} +input_layer_names: "data3D" +output_layer_names: "__batch_norm_0__" +sub_models { + name: "root" + layer_names: "data3D" + layer_names: "__batch_norm_0__" + input_layer_names: "data3D" + output_layer_names: "__batch_norm_0__" + is_recurrent_layer_group: false +} + diff --git a/python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py b/python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py index af694382b6..a991b22252 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py +++ b/python/paddle/trainer_config_helpers/tests/configs/test_BatchNorm3D.py @@ -2,16 +2,10 @@ from paddle.trainer_config_helpers import * settings(batch_size=1000, learning_rate=1e-4) -data = data_layer(name='data', size=180, width=30, height=6) -# -batchNorm = batch_norm_layer(data, num_channels=1) -# -outputs(batchNorm) +#data = data_layer(name='data', size=180, width=30, height=6) +#batchNorm = batch_norm_layer(data, num_channels=1) +#outputs(batchNorm) -# # -data3D = data_layer(name='data3D22', size=120 * 3, width=20, height=6, depth=3) -# -print(data3D) +data3D = data_layer(name='data3D', size=120 * 3, width=20, height=6, depth=3) batchNorm3D = batch_norm_layer(data3D, num_channels=1, img3D=True) -# outputs(batchNorm3D) From 74b22c3737834021e46430f6f74248a461f92e86 Mon Sep 17 00:00:00 2001 From: Helin Wang <ustc.harry@gmail.com> Date: Thu, 31 Aug 2017 15:47:22 -0700 Subject: [PATCH 08/66] update figures --- doc/design/ops/src/dist-graph.graffle | Bin 4915 -> 6059 bytes doc/design/ops/src/dist-graph.png | Bin 133866 -> 228040 bytes doc/design/ops/src/local-graph.graffle | Bin 2515 -> 2527 bytes doc/design/ops/src/local-graph.png | Bin 31493 -> 28561 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/design/ops/src/dist-graph.graffle b/doc/design/ops/src/dist-graph.graffle index 1e1cb18dfecd9ee956ce4fe721a9bec4a24282c2..6353f736042ed6056d4f59b0cb4072ae2f7008aa 100644 GIT binary patch literal 6059 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 literal 4915 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 diff --git a/doc/design/ops/src/dist-graph.png b/doc/design/ops/src/dist-graph.png index 6f49dce07415025ade04bf0227f652c98540a056..d3c4175af5723ddf9e72044558434ce9768c41ec 100644 GIT binary patch literal 228040 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 NeQgu1>lzM6|37F?x4-}Z literal 133866 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¬0e2H(5=N~^^ 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 diff --git a/doc/design/ops/src/local-graph.graffle b/doc/design/ops/src/local-graph.graffle index d167d0412bbcddb3458664f507ea6d215afbeae3..19e509bd9af3c1e9a3f5e0f16ddd281457a339c5 100644 GIT binary patch literal 2527 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 literal 2515 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 diff --git a/doc/design/ops/src/local-graph.png b/doc/design/ops/src/local-graph.png index 8ea9b36076ca8f4042755675d719e173a5b0a8fe..ada51200f793a9bb18911e7d63cfdb3244b967d7 100644 GIT binary patch literal 28561 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 literal 31493 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 From c2a16b5c91c5a719cecfe6f1516258c13d8295c1 Mon Sep 17 00:00:00 2001 From: Helin Wang <ustc.harry@gmail.com> Date: Thu, 31 Aug 2017 16:50:51 -0700 Subject: [PATCH 09/66] update OP based parameter server design --- doc/design/ops/dist_train.md | 65 +++++++++++++++++--------- doc/design/ops/src/dist-graph.graffle | Bin 6059 -> 6430 bytes doc/design/ops/src/dist-graph.png | Bin 228040 -> 227532 bytes 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/doc/design/ops/dist_train.md b/doc/design/ops/dist_train.md index 8e92c87a59..29940ac59d 100644 --- a/doc/design/ops/dist_train.md +++ b/doc/design/ops/dist_train.md @@ -4,13 +4,13 @@ We propose an approach to implement the parameter server. In this approach, there is no fundamental difference between the trainer and -the parameter server: they both run sub-graphs, but sub-graphs of +the parameter server: they both run subgraphs, but subgraphs of different purposes. ## Background The previous implementations of the parameter server does not run a -sub-graph. parameter initialization, optimizer computation, network +subgraph. parameter initialization, optimizer computation, network communication and checkpointing are implemented twice on both the trainer and the parameter server. @@ -26,35 +26,40 @@ server becomes a natural extension. ### Graph Converter The *graph converter* converts the user-defined operation (OP) graph -into sub-graphs to be scheduled on different nodes. +into subgraphs to be scheduled on different nodes with the following +steps: -1. The user-defined OP graph will be cut into sub-graphs of -different purposes (e.g., trainer, parameter server) to run on -different workers. +1. OP placement: the OPs will be placed on different nodes according + to heuristic that minimizes estimated total computation + time. Currently we will use a simple heuristic that puts parameter + varable on parameter server workers and everything else on trainer + workers. -1. OPs will be added to the subgraphs, so the subgraphs can -communicate with each other. We will need these OPs: *send*, *recv*, -*gradient accumulator*, *string accumulator*, *loop forever*. +1. Add communication OPs to enable the communication between nodes. + +We will need these OPs: *Send*, *Recv*, *Enqueue*, *Dequeue*. Below is an example of converting the user defined graph to the -sub-graphs for the trainer and the parameter server: +subgraphs for the trainer and the parameter server: <img src="src/local-graph.png" width="300"/> After converting: -<img src="src/dist-graph.png" width="500"/> +<img src="src/dist-graph.png" width="700"/> 1. The parameter variable W and it's optimizer subgraph are placed on the parameter server. -1. Operators are added to the sub-graphs. - - *send* operator sends data and sender's address to the destination. - - *recv* operator receives data and sender's address from the - destination. It will block until data has been received. - - *gradient accumulator* operator accumulates *N* pieces of - gradients. N=1 in Async-SGD, N>1 in Sync-SGD. - - *string accumulator* accumulates *N* pieces of strings into a - list of strings. N=1 in Async-SGD, N>1 in Sync-SGD. - - *loop forever* runs itself as a target forever. +1. Operators are added to the subgraphs. + - *Send* sends data to the connected *Recv* operator. The + scheduler on the receive node will only schedule *Recv* operator + to run when the *Send* operator has ran (the *Send* OP will mark + the *Recv* OP runnable automatically). + - *Enueue* enqueues the input variable, it can block until space + become available in the queue. + - *Dequeue* outputs configurable numbers of tensors from the + queue. It will block until the queue have the required number of + tensors. + ### Benefits @@ -71,8 +76,8 @@ After converting: ### Challenges - It might be hard for the graph converter to cut a general graph - (without any hint for which sub-graph is the optimizer). We may need - to label which sub-graph inside the OP graph is the optimizer. + (without any hint for which subgraph is the optimizer). We may need + to label which subgraph inside the OP graph is the optimizer. - It's important to balance the parameter shards of on multiple parameter server. If a single parameter is very big (some @@ -80,3 +85,19 @@ After converting: automatically partition the single parameter onto different parameter servers when possible (only element-wise optimizer depends on the parameter variable). + +### Discussion + +- In the "Aync SGD" figure, the "W" variable on the parameter server + could be read and wrote concurrently, what is our locking strategy? + +- Does our current tensor design supports enqueue (put the input tensor + into the queue tensor)? + +- *Dequeue* OP will have variable numbers of output (depends on the + `min_count` attribute), does our current design support it? (similar + question for the *Add* OP) + + +References: +[1] (TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems)[https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45166.pdf] diff --git a/doc/design/ops/src/dist-graph.graffle b/doc/design/ops/src/dist-graph.graffle index 6353f736042ed6056d4f59b0cb4072ae2f7008aa..941399c6ced8d5f65b6c595522b770c88259df4b 100644 GIT binary patch literal 6430 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 literal 6059 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 diff --git a/doc/design/ops/src/dist-graph.png b/doc/design/ops/src/dist-graph.png index d3c4175af5723ddf9e72044558434ce9768c41ec..3546b09f1c2ee3e4f60f519d5e47f823f08051a7 100644 GIT binary patch delta 140716 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 delta 141228 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 From 67eff9fa9cc36b6548d211c7f23143841b4b67d0 Mon Sep 17 00:00:00 2001 From: Helin Wang <ustc.harry@gmail.com> Date: Thu, 31 Aug 2017 16:56:06 -0700 Subject: [PATCH 10/66] polish --- doc/design/ops/dist_train.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/design/ops/dist_train.md b/doc/design/ops/dist_train.md index 29940ac59d..fa3c5d7990 100644 --- a/doc/design/ops/dist_train.md +++ b/doc/design/ops/dist_train.md @@ -65,7 +65,8 @@ After converting: - Model parallelism become easier to implement: it's an extension to the trainer - parameter server approach. we already have the - communication OPs, but need to extend the graph converter. + communication OPs, but need to extend the graph converter's + placement functionality. - User-defined optimizer is easier to add - user can now express it as a subgraph. @@ -90,14 +91,16 @@ After converting: - In the "Aync SGD" figure, the "W" variable on the parameter server could be read and wrote concurrently, what is our locking strategy? + E.g., each variable have a lock cpp method to be invoked by every + OP, or, have a lock OP. -- Does our current tensor design supports enqueue (put the input tensor - into the queue tensor)? +- Can the Enqueue OP be implemented under our current tensor design + (puts the input tensor into the queue tensor)? - *Dequeue* OP will have variable numbers of output (depends on the `min_count` attribute), does our current design support it? (similar question for the *Add* OP) -References: -[1] (TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems)[https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45166.pdf] +### References: +[1] [TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45166.pdf) From eaf23cb1e8e10f0a1d9ed9dfbfe9d16b05a57dbe Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Mon, 4 Sep 2017 16:53:33 +0800 Subject: [PATCH 11/66] fix ModelConfig.proto, addto_layer and concat_layer --- proto/ModelConfig.proto | 2 +- python/paddle/trainer/config_parser.py | 21 ++++++++++++++++--- .../paddle/trainer_config_helpers/layers.py | 4 ++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/proto/ModelConfig.proto b/proto/ModelConfig.proto index e3248b21c7..6eb12b8991 100644 --- a/proto/ModelConfig.proto +++ b/proto/ModelConfig.proto @@ -517,7 +517,7 @@ message LayerConfig { optional double delta = 57 [ default = 1.0 ]; // for 3D data - optional double depth = 58 [ default = 1 ]; + optional uint64 depth = 58 [ default = 1 ]; } message EvaluatorConfig { diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index 43c151d6d1..b6ae11147f 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -2735,9 +2735,21 @@ class AddToLayer(LayerBase): super(AddToLayer, self).__init__( name, 'addto', 0, inputs=inputs, **xargs) config_assert(len(inputs) > 0, 'inputs cannot be empty for AddToLayer') - for input_index in xrange(len(self.inputs)): - input_layer = self.get_input_layer(input_index) - self.set_layer_size(input_layer.size) + + if len(self.inputs) > 1: + assert len(self.inputs) == 2 + assert self.get_input_layer(0).size == self.get_input_layer(1).size + assert self.get_input_layer(0).depth == self.get_input_layer( + 1).depth + assert self.get_input_layer(0).height == self.get_input_layer( + 1).height + assert self.get_input_layer(0).width == self.get_input_layer( + 1).width + + self.set_layer_size(self.get_input_layer(0).size) + self.set_layer_height_width(self.get_input_layer(0).height, \ + self.get_input_layer(0).width) + self.set_layer_depth(self.get_input_layer(0).depth) self.create_bias_parameter(bias, self.config.size) @@ -3422,6 +3434,9 @@ class ConcatenateLayer(LayerBase): if self.config.size == 0: size += input_layer.size + self.set_layer_height_width(self.get_input_layer(0).height, \ + self.get_input_layer(0).width) + self.set_layer_depth(self.get_input_layer(0).depth) self.set_layer_size(size) diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index b167a3f78a..88cb328206 100644 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -352,6 +352,10 @@ class LayerOutput(object): def height(self): return cp.g_layer_map[self.full_name].height + @property + def depth(self): + return cp.g_layer_map[self.full_name].depth + def set_input(self, input): """ Set the input for a memory layer. Can only be used for memory layer From 0692dd206195fd0d2e4d825b609fbb8b05a3bbf2 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Tue, 5 Sep 2017 11:06:24 +0800 Subject: [PATCH 12/66] fix test_bi_grumemory.protostr, test_recursive_topology.protostr, util_layers.protostr and new test_sub_nested_seq_select_layer.protostr --- .../protostr/test_bi_grumemory.protostr | 3 + .../protostr/test_recursive_topology.protostr | 96 +++++++++++++++++++ .../test_sub_nested_seq_select_layer.protostr | 37 +++++++ .../configs/protostr/util_layers.protostr | 6 ++ 4 files changed, 142 insertions(+) create mode 100644 python/paddle/trainer_config_helpers/tests/configs/protostr/test_sub_nested_seq_select_layer.protostr diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_bi_grumemory.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_bi_grumemory.protostr index b110e91498..8a1399efad 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_bi_grumemory.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_bi_grumemory.protostr @@ -74,6 +74,9 @@ layers { inputs { input_layer_name: "__bidirectional_gru_0___bw" } + height: 0 + width: 0 + depth: 1 } parameters { name: "___bidirectional_gru_0___fw_transform.w0" diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_recursive_topology.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_recursive_topology.protostr index 8133aa9c8d..046037936a 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_recursive_topology.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_recursive_topology.protostr @@ -16,6 +16,9 @@ layers { inputs { input_layer_name: "data" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_1__" @@ -28,6 +31,9 @@ layers { inputs { input_layer_name: "__addto_0__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_2__" @@ -40,6 +46,9 @@ layers { inputs { input_layer_name: "__addto_1__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_3__" @@ -52,6 +61,9 @@ layers { inputs { input_layer_name: "__addto_2__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_4__" @@ -64,6 +76,9 @@ layers { inputs { input_layer_name: "__addto_3__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_5__" @@ -76,6 +91,9 @@ layers { inputs { input_layer_name: "__addto_4__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_6__" @@ -88,6 +106,9 @@ layers { inputs { input_layer_name: "__addto_5__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_7__" @@ -100,6 +121,9 @@ layers { inputs { input_layer_name: "__addto_6__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_8__" @@ -112,6 +136,9 @@ layers { inputs { input_layer_name: "__addto_7__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_9__" @@ -124,6 +151,9 @@ layers { inputs { input_layer_name: "__addto_8__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_10__" @@ -136,6 +166,9 @@ layers { inputs { input_layer_name: "__addto_9__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_11__" @@ -148,6 +181,9 @@ layers { inputs { input_layer_name: "__addto_10__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_12__" @@ -160,6 +196,9 @@ layers { inputs { input_layer_name: "__addto_11__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_13__" @@ -172,6 +211,9 @@ layers { inputs { input_layer_name: "__addto_12__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_14__" @@ -184,6 +226,9 @@ layers { inputs { input_layer_name: "__addto_13__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_15__" @@ -196,6 +241,9 @@ layers { inputs { input_layer_name: "__addto_14__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_16__" @@ -208,6 +256,9 @@ layers { inputs { input_layer_name: "__addto_15__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_17__" @@ -220,6 +271,9 @@ layers { inputs { input_layer_name: "__addto_16__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_18__" @@ -232,6 +286,9 @@ layers { inputs { input_layer_name: "__addto_17__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_19__" @@ -244,6 +301,9 @@ layers { inputs { input_layer_name: "__addto_18__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_20__" @@ -256,6 +316,9 @@ layers { inputs { input_layer_name: "__addto_19__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_21__" @@ -268,6 +331,9 @@ layers { inputs { input_layer_name: "__addto_20__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_22__" @@ -280,6 +346,9 @@ layers { inputs { input_layer_name: "__addto_21__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_23__" @@ -292,6 +361,9 @@ layers { inputs { input_layer_name: "__addto_22__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_24__" @@ -304,6 +376,9 @@ layers { inputs { input_layer_name: "__addto_23__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_25__" @@ -316,6 +391,9 @@ layers { inputs { input_layer_name: "__addto_24__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_26__" @@ -328,6 +406,9 @@ layers { inputs { input_layer_name: "__addto_25__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_27__" @@ -340,6 +421,9 @@ layers { inputs { input_layer_name: "__addto_26__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_28__" @@ -352,6 +436,9 @@ layers { inputs { input_layer_name: "__addto_27__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_29__" @@ -364,6 +451,9 @@ layers { inputs { input_layer_name: "__addto_28__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_30__" @@ -376,6 +466,9 @@ layers { inputs { input_layer_name: "__addto_29__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__addto_31__" @@ -388,6 +481,9 @@ layers { inputs { input_layer_name: "__addto_30__" } + height: 0 + width: 0 + depth: 1 } layers { name: "__fc_layer_0__" diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_sub_nested_seq_select_layer.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_sub_nested_seq_select_layer.protostr new file mode 100644 index 0000000000..4b906b113e --- /dev/null +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_sub_nested_seq_select_layer.protostr @@ -0,0 +1,37 @@ +type: "nn" +layers { + name: "input_seq" + type: "data" + size: 300 + active_type: "" +} +layers { + name: "input" + type: "data" + size: 5 + active_type: "" +} +layers { + name: "__sub_nested_seq_layer_0__" + type: "sub_nested_seq" + size: 300 + active_type: "" + inputs { + input_layer_name: "input_seq" + } + inputs { + input_layer_name: "input" + } +} +input_layer_names: "input_seq" +output_layer_names: "__sub_nested_seq_layer_0__" +sub_models { + name: "root" + layer_names: "input_seq" + layer_names: "input" + layer_names: "__sub_nested_seq_layer_0__" + input_layer_names: "input_seq" + output_layer_names: "__sub_nested_seq_layer_0__" + is_recurrent_layer_group: false +} + diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/util_layers.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/util_layers.protostr index d0ad388165..7a2f3eab38 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/util_layers.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/util_layers.protostr @@ -22,6 +22,9 @@ layers { inputs { input_layer_name: "b" } + height: 0 + width: 0 + depth: 1 } layers { name: "__concat_0__" @@ -34,6 +37,9 @@ layers { inputs { input_layer_name: "b" } + height: 0 + width: 0 + depth: 1 } layers { name: "__concat_1__" From f314330c238388dd25a8be27b138a81bee2d8bfb Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Tue, 5 Sep 2017 19:32:47 +0800 Subject: [PATCH 13/66] refactor operator python test and add sum operator --- paddle/framework/operator.h | 25 +- paddle/operators/sum_op.cc | 69 +++++ paddle/operators/sum_op.cu | 18 ++ paddle/operators/sum_op.h | 65 +++++ paddle/pybind/pybind.cc | 9 + python/paddle/v2/framework/op.py | 10 +- .../paddle/v2/framework/tests/CMakeLists.txt | 1 + python/paddle/v2/framework/tests/op_test.py | 271 ++++++++++++++++++ .../framework/tests/test_cross_entropy_op.py | 30 +- .../v2/framework/tests/test_sigmoid_op.py | 28 +- .../paddle/v2/framework/tests/test_sum_op.py | 26 ++ 11 files changed, 513 insertions(+), 39 deletions(-) create mode 100644 paddle/operators/sum_op.cc create mode 100644 paddle/operators/sum_op.cu create mode 100644 paddle/operators/sum_op.h create mode 100644 python/paddle/v2/framework/tests/op_test.py create mode 100644 python/paddle/v2/framework/tests/test_sum_op.py diff --git a/paddle/framework/operator.h b/paddle/framework/operator.h index da92220b04..be302669cd 100644 --- a/paddle/framework/operator.h +++ b/paddle/framework/operator.h @@ -94,6 +94,27 @@ class OperatorBase { const VariableNameMap& Inputs() const { return inputs_; } const VariableNameMap& Outputs() const { return outputs_; } + + const std::vector<std::string> InputsNames() const { + std::vector<std::string> result; + for (auto& kv : inputs_) { + for (auto& name : kv.second) { + result.push_back(name); + } + } + return result; + } + + const std::vector<std::string> OutputsNames() const { + std::vector<std::string> result; + for (auto& kv : outputs_) { + for (auto& name : kv.second) { + result.push_back(name); + } + } + return result; + } + //! Get a input with argument's name described in `op_proto` std::string Input(const std::string& name) const; //! Get a input which has multiple variables. @@ -311,9 +332,9 @@ class InferShapeContext { } template <typename T> - std::vector<const T*> MultiOutput(const std::string& name) const { + std::vector<T*> MultiOutput(const std::string& name) const { auto names = op_.Outputs(name); - std::vector<const T*> res; + std::vector<T*> res; res.reserve(names.size()); std::transform(names.begin(), names.end(), std::back_inserter(res), [&](const std::string& sub_name) { diff --git a/paddle/operators/sum_op.cc b/paddle/operators/sum_op.cc new file mode 100644 index 0000000000..cf650787c6 --- /dev/null +++ b/paddle/operators/sum_op.cc @@ -0,0 +1,69 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#include "paddle/operators/sum_op.h" +#include <vector> + +namespace paddle { +namespace operators { +using framework::Tensor; + +class SumOp : public framework::OperatorWithKernel { + public: + using framework::OperatorWithKernel::OperatorWithKernel; + + protected: + void InferShape(const framework::InferShapeContext &ctx) const override { + auto ins = ctx.MultiInput<framework::Tensor>("X"); + auto *out = ctx.Output<framework::Tensor>("Out"); + int N = ins.size(); + + PADDLE_ENFORCE_GT(N, 1, "Input tensors count should > 1."); + + auto dim_zero = ins[0]->dims(); + out->Resize(dim_zero); + } +}; + +class SumOpMaker : public framework::OpProtoAndCheckerMaker { + public: + SumOpMaker(framework::OpProto *proto, framework::OpAttrChecker *op_checker) + : OpProtoAndCheckerMaker(proto, op_checker) { + AddInput("X", "the input tensors of sum operator.").AsDuplicable(); + AddOutput("Out", "the output tensor of sum operator."); + AddComment(R"DOC( + Sum the input tensors. + )DOC"); + } +}; + +class SumGradOp : public framework::OperatorWithKernel { + public: + using framework::OperatorWithKernel::OperatorWithKernel; + + protected: + void InferShape(const framework::InferShapeContext &ctx) const override { + auto outputs = ctx.MultiOutput<Tensor>(framework::GradVarName("X")); + auto dims = ctx.Input<Tensor>(framework::GradVarName("Out"))->dims(); + for (auto output : outputs) { + output->Resize(dims); + } + } +}; + +} // namespace operators +} // namespace paddle + +namespace ops = paddle::operators; +REGISTER_OP(sum, ops::SumOp, ops::SumOpMaker, sum_grad, ops::SumGradOp); +REGISTER_OP_CPU_KERNEL(sum, ops::SumKernel<paddle::platform::CPUPlace, float>); +REGISTER_OP_CPU_KERNEL(sum_grad, + ops::SumGradKernel<paddle::platform::CPUPlace, float>); diff --git a/paddle/operators/sum_op.cu b/paddle/operators/sum_op.cu new file mode 100644 index 0000000000..a465cf3659 --- /dev/null +++ b/paddle/operators/sum_op.cu @@ -0,0 +1,18 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#define EIGEN_USE_GPU +#include "paddle/operators/sum_op.h" + +namespace ops = paddle::operators; +REGISTER_OP_GPU_KERNEL(sum, ops::SumKernel<paddle::platform::GPUPlace, float>); +REGISTER_OP_GPU_KERNEL(sum_grad, + ops::SumGradKernel<paddle::platform::GPUPlace, float>); diff --git a/paddle/operators/sum_op.h b/paddle/operators/sum_op.h new file mode 100644 index 0000000000..0b1e9ebaa3 --- /dev/null +++ b/paddle/operators/sum_op.h @@ -0,0 +1,65 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#pragma once +#include "paddle/framework/eigen.h" +#include "paddle/framework/op_registry.h" + +namespace paddle { +namespace operators { + +using Tensor = framework::Tensor; +template <typename T, int MajorType = Eigen::RowMajor, + typename IndexType = Eigen::DenseIndex> +using EigenVector = framework::EigenVector<T, MajorType, IndexType>; + +template <typename Place, typename T> +class SumKernel : public framework::OpKernel { + public: + void Compute(const framework::ExecutionContext& context) const override { + auto ins = context.MultiInput<Tensor>("X"); + auto* out = context.Output<Tensor>("Out"); + out->mutable_data<T>(context.GetPlace()); + + auto place = context.GetEigenDevice<Place>(); + auto result = EigenVector<T>::Flatten(*out); + + int N = ins.size(); + auto in = EigenVector<T>::Flatten(*(ins[0])); + result.device(place) = in; + for (int i = 1; i < N; i++) { + auto in = EigenVector<T>::Flatten(*(ins[i])); + result.device(place) = result + in; + } + } +}; + +template <typename Place, typename T> +class SumGradKernel : public framework::OpKernel { + public: + void Compute(const framework::ExecutionContext& context) const override { + auto* input = context.Input<Tensor>(framework::GradVarName("Out")); + auto outs = context.MultiOutput<Tensor>(framework::GradVarName("X")); + for (auto out : outs) { + out->mutable_data<T>(context.GetPlace()); + } + + auto place = context.GetEigenDevice<Place>(); + auto in = EigenVector<T>::Flatten(*input); + for (auto out : outs) { + auto result = EigenVector<T>::Flatten(*out); + result.device(place) = in; + } + } +}; + +} // namespace operators +} // namespace paddle diff --git a/paddle/pybind/pybind.cc b/paddle/pybind/pybind.cc index 6896422617..a678bc4940 100644 --- a/paddle/pybind/pybind.cc +++ b/paddle/pybind/pybind.cc @@ -48,6 +48,7 @@ USE_NO_KERNEL_OP(identity); USE_OP(minus); USE_CPU_ONLY_OP(gather); USE_CPU_ONLY_OP(scatter); +USE_OP(sum); namespace paddle { namespace framework { @@ -213,7 +214,15 @@ All parameter, weight, gradient are variables in Paddle. -> std::map<std::string, std::vector<std::string>> { return op.Outputs(); }) + .def("outputs_names", + [](const OperatorBase &op) -> std::vector<std::string> { + return op.OutputsNames(); + }) .def("inputs", [](const OperatorBase &op) { return op.Inputs(); }) + .def("inputs_names", + [](const OperatorBase &op) -> std::vector<std::string> { + return op.InputsNames(); + }) .def("__str__", &OperatorBase::DebugString) .def("no_intermediate_outputs", [](const OperatorBase &op) { return op.OutputVars(false); }) diff --git a/python/paddle/v2/framework/op.py b/python/paddle/v2/framework/op.py index e7e932f6fe..431cf4b260 100644 --- a/python/paddle/v2/framework/op.py +++ b/python/paddle/v2/framework/op.py @@ -133,8 +133,8 @@ def create_op_creation_method(op_proto): return OpInfo( method=__impl__, name=op_proto.type, - inputs=[var.name for var in op_proto.inputs], - outputs=[var.name for var in op_proto.outputs], + inputs=[(var.name, var.duplicable) for var in op_proto.inputs], + outputs=[(var.name, var.duplicable) for var in op_proto.outputs], attrs=[attr.name for attr in op_proto.attrs]) @@ -168,9 +168,15 @@ class OperatorFactory(object): return self.op_methods.get(t) def get_op_input_names(self, type): + return map(lambda x: x[0], self.get_op_info(type).inputs) + + def get_op_inputs(self, type): return self.get_op_info(type).inputs def get_op_output_names(self, type): + return map(lambda x: x[0], self.get_op_info(type).outputs) + + def get_op_outputs(self, type): return self.get_op_info(type).outputs def get_op_attr_names(self, type): diff --git a/python/paddle/v2/framework/tests/CMakeLists.txt b/python/paddle/v2/framework/tests/CMakeLists.txt index 661ebd8964..a4ce263039 100644 --- a/python/paddle/v2/framework/tests/CMakeLists.txt +++ b/python/paddle/v2/framework/tests/CMakeLists.txt @@ -31,4 +31,5 @@ py_test(test_sgd_op SRCS test_sgd_op.py) py_test(test_gradient_checker SRCS test_gradient_checker.py) py_test(test_lookup_table SRCS test_lookup_table.py) py_test(test_scale_and_identity_op SRCS test_scale_and_identity_op.py) +py_test(test_sum_op SRCS test_sum_op.py) py_test(mnist SRCS mnist.py) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py new file mode 100644 index 0000000000..9b2f10fdf9 --- /dev/null +++ b/python/paddle/v2/framework/tests/op_test.py @@ -0,0 +1,271 @@ +import unittest +import numpy as np +import itertools +import paddle.v2.framework.core as core +from paddle.v2.framework.op import Operator + + +def grad_var_name(var_name): + return var_name + "@GRAD" + + +def remove_grad_var_name(var_name): + return var_name[0:-5] + + +def create_op(scope, op_type, inputs, outputs, attrs=None): + kwargs = dict() + + for ins in Operator.get_op_inputs(op_type): + in_name = ins[0] + in_dup = ins[1] + if in_name in inputs: + kwargs[in_name] = [] + if in_dup: + sub_in = inputs[in_name] + for sub_in_name in sub_in: + var = scope.new_var(sub_in_name) + tensor = var.get_tensor() + kwargs[in_name].append(sub_in_name) + else: + var = scope.new_var(in_name) + tensor = var.get_tensor() + kwargs[in_name].append(in_name) + + for outs in Operator.get_op_outputs(op_type): + out_name = outs[0] + out_dup = outs[1] + if out_name in outputs: + kwargs[out_name] = [] + if out_dup: + sub_in = outputs[out_name] + for sun_in_name in sub_in: + var = scope.new_var(sun_in_name) + tensor = var.get_tensor() + kwargs[out_name].append(sun_in_name) + else: + var = scope.new_var(out_name) + tensor = var.get_tensor() + kwargs[out_name].append(out_name) + + # for attr_name in Operator.get_op_attr_names(op_type): + # kwargs[attr_name] = attrs[attr_name] + return Operator(op_type, **kwargs) + + +def set_input(scope, op, inputs, place): + for ins in Operator.get_op_inputs(op.type()): + in_name = ins[0] + in_dup = ins[1] + if in_name in inputs: + if in_dup: + sub_in = inputs[in_name] + for sub_in_name in sub_in: + var = scope.find_var(sub_in_name) + tensor = var.get_tensor() + arr = sub_in[sub_in_name] + tensor.set_dims(arr.shape) + tensor.set(arr, place) + else: + var = scope.find_var(in_name) + tensor = var.get_tensor() + arr = inputs[in_name] + tensor.set_dims(arr.shape) + tensor.set(arr, place) + + +def set_output_grad(scope, op, outputs, place): + for outs in Operator.get_op_outputs(op.type()): + out_name = outs[0] + out_dup = outs[1] + if out_name in outputs: + if out_dup: + sub_out = outputs[out_name] + for sub_out_name in sub_out: + out_tensor = scope.find_var(sub_out_name).get_tensor() + grad_tensor = scope.new_var(grad_var_name( + sub_out_name)).get_tensor() + grad_tensor.set_dims(out_tensor.shape()) + data = np.ones(out_tensor.shape(), dtype=np.float32) + grad_tensor.set(data, place) + else: + out_tensor = scope.find_var(out_name).get_tensor() + grad_tensor = scope.new_var(grad_var_name(out_name)).get_tensor( + ) + grad_tensor.set_dims(out_tensor.shape()) + data = np.ones(out_tensor.shape(), dtype=np.float32) + grad_tensor.set(data, place) + + +def get_numeric_gradient(scope, + op, + inputs, + input_to_check, + output_name, + delta=0.005, + in_place=False): + + set_input(scope, op, inputs, core.CPUPlace()) + op.infer_shape(scope) + + tensor_to_check = scope.find_var(input_to_check).get_tensor() + + def product(dim): + return reduce(lambda a, b: a * b, dim, 1) + + ctx = core.DeviceContext.create(core.CPUPlace()) + + def get_output(): + op.run(scope, ctx) + return np.array(scope.find_var(output_name).get_tensor()).sum() + + tensor_to_check = scope.find_var(input_to_check).get_tensor() + tensor_size = product(tensor_to_check.get_dims()) + gradient_flat = np.zeros(shape=(tensor_size, ), dtype='float32') + # we only compute gradient of one element each time. + # we use a for loop to compute the gradient of every element. + for i in xrange(tensor_size): + if in_place: + set_input(op, inputs, core.CPUPlace()) + + # get one input element throw it's index i. + origin = tensor_to_check.get_float_element(i) + # add delta to it, run op and then get the sum of the result tensor. + x_pos = origin + delta + tensor_to_check.set_float_element(i, x_pos) + y_pos = get_output() + + if in_place: + set_input(op, inputs, core.CPUPlace()) + + x_neg = origin - delta + tensor_to_check.set_float_element(i, x_neg) + y_neg = get_output() + + tensor_to_check.set_float_element(i, origin) + gradient_flat[i] = (y_pos - y_neg) / delta / 2 + + return gradient_flat.reshape(tensor_to_check.get_dims()) + + +def get_backward_op(scope, op, no_grad_set): + backward_op = core.Operator.backward(op, no_grad_set) + for input in backward_op.inputs_names(): + var = scope.new_var(input) + var.get_tensor() + for output in backward_op.outputs_names(): + var = scope.new_var(output) + var.get_tensor() + return backward_op + + +def get_gradient(scope, op, inputs, outputs, grad_name, place, + no_grad_set=None): + ctx = core.DeviceContext.create(place) + + set_input(scope, op, inputs, place) + + op.infer_shape(scope) + op.run(scope, ctx) + + if no_grad_set is None: + no_grad_set = set() + + backward_op = get_backward_op(scope, op, no_grad_set) + set_output_grad(scope, op, outputs, place) + + backward_op.infer_shape(scope) + backward_op.run(scope, ctx) + + out = np.array(scope.find_var(grad_name).get_tensor()) + return out + + +class OpTest(unittest.TestCase): + def check_output(self, place): + self.scope = core.Scope() + self.op = create_op(self.scope, self.op_type, self.inputs, self.outputs) + if isinstance(place, core.GPUPlace) and not self.op.support_gpu(): + return + set_input(self.scope, self.op, self.inputs, place) + self.op.infer_shape(self.scope) + ctx = core.DeviceContext.create(place) + self.op.run(self.scope, ctx) + + for outs in Operator.get_op_outputs(self.op.type()): + out_name = outs[0] + out_dup = outs[1] + if out_dup: + sub_out = self.outputs[out_name] + for sub_out_name in sub_out: + actual = np.array( + self.scope.find_var(sub_out_name).get_tensor()) + expect = sub_out[sub_out_name] + self.assertTrue( + np.allclose( + actual, expect, atol=1e-05), + "output name: " + out_name + "has diff") + else: + actual = np.array(self.scope.find_var(out_name).get_tensor()) + expect = self.outputs[out_name] + self.assertTrue( + np.allclose( + actual, expect, atol=1e-05), + "output name: " + out_name + "has diff") + + def __assert_is_close(self, numeric_grads, analytic_grads, names, + max_relative_error, msg_prefix): + + for a, b, name in itertools.izip(numeric_grads, analytic_grads, names): + abs_a = np.abs(a) + abs_a[abs_a < 1e-3] = 1 + + diff_mat = np.abs(a - b) / abs_a + max_diff = np.max(diff_mat) + + def err_msg(): + offset = np.argmax(diff_mat > max_relative_error) + return "%s Variable %s max gradient diff %f over limit %f, the first " \ + "error element is %d" % ( + msg_prefix, name, max_diff, max_relative_error, offset) + + self.assertLessEqual(max_diff, max_relative_error, err_msg()) + + def check_grad(self, + inputs_to_check, + output_name, + no_grad_set=None, + in_place=False, + max_relative_error=0.005): + self.scope = core.Scope() + self.op = create_op(self.scope, self.op_type, self.inputs, self.outputs) + if no_grad_set is None: + no_grad_set = set() + + numeric_grads = [ + get_numeric_gradient( + self.scope, + self.op, + self.inputs, + input_to_check, + output_name, + in_place=in_place) for input_to_check in inputs_to_check + ] + grad_names = [ + grad_var_name(input_to_check) for input_to_check in inputs_to_check + ] + + places = [core.CPUPlace()] + if core.is_compile_gpu() and op.support_gpu(): + places.append(core.GPUPlace(0)) + + for place in places: + analytic_grads = [ + get_gradient(self.scope, self.op, self.inputs, self.outputs, + grad_name, place, no_grad_set) + for grad_name in grad_names + ] + + self.__assert_is_close(numeric_grads, analytic_grads, grad_names, + max_relative_error, + "Gradient Check On %s" % str(place)) diff --git a/python/paddle/v2/framework/tests/test_cross_entropy_op.py b/python/paddle/v2/framework/tests/test_cross_entropy_op.py index d4277f2a42..20e0de3520 100644 --- a/python/paddle/v2/framework/tests/test_cross_entropy_op.py +++ b/python/paddle/v2/framework/tests/test_cross_entropy_op.py @@ -1,36 +1,28 @@ import unittest import numpy -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op +from op_test import OpTest +import paddle.v2.framework.core as core -class TestCrossEntropy(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestCrossEntropy(OpTest): def setUp(self): - self.type = "onehot_cross_entropy" - batch_size = 30 - class_num = 10 + self.op_type = "onehot_cross_entropy" + batch_size = 4 + class_num = 4 X = numpy.random.random((batch_size, class_num)).astype("float32") - label = 5 * numpy.ones(batch_size).astype("int32") + label = (class_num / 2) * numpy.ones(batch_size).astype("int32") self.inputs = {'X': X, 'label': label} Y = [] for i in range(0, batch_size): Y.append(-numpy.log(X[i][label[i]])) self.outputs = {'Y': numpy.array(Y).astype("float32")} + def test_check_output(self): + self.check_output(core.CPUPlace()) + self.check_output(core.GPUPlace(0)) -class CrossEntropyGradOpTest(GradientChecker): def test_check_grad(self): - op = create_op("onehot_cross_entropy") - batch_size = 30 - class_num = 10 - inputs = { - "X": numpy.random.uniform( - 0.1, 1.0, [batch_size, class_num]).astype("float32"), - "label": (class_num / 2) * numpy.ones(batch_size).astype("int32") - } - self.check_grad(op, inputs, set("X"), "Y") + self.check_grad(["X"], "Y") if __name__ == "__main__": diff --git a/python/paddle/v2/framework/tests/test_sigmoid_op.py b/python/paddle/v2/framework/tests/test_sigmoid_op.py index 273c2e5ab1..ff0823508f 100644 --- a/python/paddle/v2/framework/tests/test_sigmoid_op.py +++ b/python/paddle/v2/framework/tests/test_sigmoid_op.py @@ -1,27 +1,23 @@ import unittest import numpy as np -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op +from op_test import OpTest +import paddle.v2.framework.core as core -class TestSigmoidOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestSigmoid(OpTest): def setUp(self): - self.type = "sigmoid" - self.inputs = {'X': np.random.random((15, 31)).astype("float32")} + self.op_type = "sigmoid" + self.inputs = { + 'X': np.random.uniform(0.1, 1, [11, 17]).astype("float32") + } self.outputs = {'Y': 1 / (1 + np.exp(-self.inputs['X']))} + def test_check_output(self): + self.check_output(core.CPUPlace()) + self.check_output(core.GPUPlace(0)) -class TestSigmoidGradOp(GradientChecker): - def test_grad(self): - op = create_op("sigmoid") - inputs = {"X": np.random.uniform(0.1, 1, [11, 17]).astype("float32")} - # compare gpu and cpu results for backward op. - # this test will be skiped if only compiling CPU version. - self.compare_grad(op, inputs) - # check gradients - self.check_grad(op, inputs, set("X"), "Y", max_relative_error=0.007) + def test_check_grad(self): + self.check_grad(["X"], "Y", max_relative_error=0.007) if __name__ == '__main__': diff --git a/python/paddle/v2/framework/tests/test_sum_op.py b/python/paddle/v2/framework/tests/test_sum_op.py new file mode 100644 index 0000000000..2a7b65ef52 --- /dev/null +++ b/python/paddle/v2/framework/tests/test_sum_op.py @@ -0,0 +1,26 @@ +import unittest +import numpy as np +from op_test import OpTest +import paddle.v2.framework.core as core + + +class TestSumOp(OpTest): + def setUp(self): + self.op_type = "sum" + x0 = np.random.random((3, 4)).astype('float32') + x1 = np.random.random((3, 4)).astype('float32') + x2 = np.random.random((3, 4)).astype('float32') + self.inputs = {"X": {"x0": x0, "x1": x1, "x2": x2}} + y = x0 + x1 + x2 + self.outputs = {'Out': y} + + def test_check_output(self): + self.check_output(core.CPUPlace()) + self.check_output(core.GPUPlace(0)) + + def test_check_grad(self): + self.check_grad(["x0"], "Out") + + +if __name__ == '__main__': + unittest.main() From a22606ca0c6e4c79b357dc07290698541d505276 Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Tue, 5 Sep 2017 19:36:04 +0800 Subject: [PATCH 14/66] fix bug --- python/paddle/v2/framework/tests/op_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py index 9b2f10fdf9..3f8e1236ff 100644 --- a/python/paddle/v2/framework/tests/op_test.py +++ b/python/paddle/v2/framework/tests/op_test.py @@ -256,7 +256,7 @@ class OpTest(unittest.TestCase): ] places = [core.CPUPlace()] - if core.is_compile_gpu() and op.support_gpu(): + if core.is_compile_gpu() and self.op.support_gpu(): places.append(core.GPUPlace(0)) for place in places: From 4cb2966d7b60895d33fb9c951c3707b80c891174 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Tue, 5 Sep 2017 19:16:59 +0800 Subject: [PATCH 15/66] fix config_parser.py(concat_layer and addto_layer) --- python/paddle/trainer/config_parser.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index b6ae11147f..ffd31f48f9 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -2737,14 +2737,13 @@ class AddToLayer(LayerBase): config_assert(len(inputs) > 0, 'inputs cannot be empty for AddToLayer') if len(self.inputs) > 1: - assert len(self.inputs) == 2 - assert self.get_input_layer(0).size == self.get_input_layer(1).size - assert self.get_input_layer(0).depth == self.get_input_layer( - 1).depth - assert self.get_input_layer(0).height == self.get_input_layer( - 1).height - assert self.get_input_layer(0).width == self.get_input_layer( - 1).width + for input_index in xrange(len(self.inputs)): + assert self.get_input_layer(0).height == self.get_input_layer( + input_index).height + assert self.get_input_layer(0).width == self.get_input_layer( + input_index).width + assert self.get_input_layer(0).depth == self.get_input_layer( + input_index).depth self.set_layer_size(self.get_input_layer(0).size) self.set_layer_height_width(self.get_input_layer(0).height, \ @@ -3429,6 +3428,12 @@ class ConcatenateLayer(LayerBase): name, 'concat', 0, inputs=inputs, **xargs) size = 0 for input_index in xrange(len(self.inputs)): + assert self.get_input_layer(0).height == self.get_input_layer( + input_index).height + assert self.get_input_layer(0).width == self.get_input_layer( + input_index).width + assert self.get_input_layer(0).depth == self.get_input_layer( + input_index).depth input_layer = self.get_input_layer(input_index) input = self.inputs[input_index] if self.config.size == 0: From 5500153a6d4fd4a70f0aa3adc773131b2d539d7a Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Wed, 6 Sep 2017 11:34:02 +0800 Subject: [PATCH 16/66] fix cudnnBatchNorm for 3D data --- paddle/gserver/layers/CudnnBatchNormLayer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paddle/gserver/layers/CudnnBatchNormLayer.cpp b/paddle/gserver/layers/CudnnBatchNormLayer.cpp index 44ba2c4b7d..49a9540c0b 100644 --- a/paddle/gserver/layers/CudnnBatchNormLayer.cpp +++ b/paddle/gserver/layers/CudnnBatchNormLayer.cpp @@ -37,7 +37,7 @@ bool CudnnBatchNormLayer::init(const LayerMap& layerMap, } void CudnnBatchNormLayer::reshape(int batchSize) { - hl_tensor_reshape(ioDesc_, batchSize, channels_, imageH_, imageW_); + hl_tensor_reshape(ioDesc_, batchSize, channels_, imageH_ * imageD_, imageW_); } void CudnnBatchNormLayer::forward(PassType passType) { @@ -104,7 +104,7 @@ void CudnnBatchNormLayer::forward(PassType passType) { EPS, batchSize, channels_, - imageH_, + imageH_ * imageD_, imageW_); } } From 12eaa22ad2d099717e6ddf2da856b67b6d887510 Mon Sep 17 00:00:00 2001 From: Yibing Liu <liuyibing01@baidu.com> Date: Wed, 6 Sep 2017 21:25:58 -0700 Subject: [PATCH 17/66] add reshape operator --- paddle/operators/reshape_op.cc | 84 +++++++++++++++++++ paddle/operators/reshape_op.cu | 22 +++++ paddle/operators/reshape_op.h | 60 +++++++++++++ paddle/pybind/pybind.cc | 1 + .../paddle/v2/framework/tests/CMakeLists.txt | 1 + .../v2/framework/tests/test_reshape_op.py | 28 +++++++ 6 files changed, 196 insertions(+) create mode 100644 paddle/operators/reshape_op.cc create mode 100644 paddle/operators/reshape_op.cu create mode 100644 paddle/operators/reshape_op.h create mode 100644 python/paddle/v2/framework/tests/test_reshape_op.py diff --git a/paddle/operators/reshape_op.cc b/paddle/operators/reshape_op.cc new file mode 100644 index 0000000000..1b073a79bc --- /dev/null +++ b/paddle/operators/reshape_op.cc @@ -0,0 +1,84 @@ + +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. */ + +#include "paddle/operators/reshape_op.h" + +namespace paddle { +namespace operators { + +class ReshapeOp : public framework::OperatorWithKernel { + public: + ReshapeOp(const std::string &type, const framework::VariableNameMap &inputs, + const framework::VariableNameMap &outputs, + const framework::AttributeMap &attrs) + : OperatorWithKernel(type, inputs, outputs, attrs) {} + + protected: + void InferShape(const framework::InferShapeContext &ctx) const override { + auto *in = ctx.Input<framework::Tensor>("X"); + auto shape = ctx.Attr<std::vector<int>>("shape"); + PADDLE_ENFORCE_EQ((unsigned)shape.size(), in->dims().size(), + "The dimension of Input(X) mismatches with Attr(shape)."); + size_t shape_size = 1; + for (auto dim : shape) { + shape_size *= dim; + } + size_t in_size = framework::product(in->dims()); + PADDLE_ENFORCE_EQ(shape_size, in_size, + "The size of Input(X) mismatches with Attr(shape)."); + } +}; + +class ReshapeOpMaker : public framework::OpProtoAndCheckerMaker { + public: + ReshapeOpMaker(framework::OpProto *proto, + framework::OpAttrChecker *op_checker) + : OpProtoAndCheckerMaker(proto, op_checker) { + AddInput("X", "The input tensor of reshape operator."); + AddOutput("Out", "The output tensor of reshape operator."); + AddAttr<std::vector<int>>("shape", "Target shape of reshape operator."); + AddComment(R"DOC(Reshape operator + +The input tensor will be reshaped with Attr(shape). +)DOC"); + } +}; + +class ReshapeGradOp : public framework::OperatorWithKernel { + public: + ReshapeGradOp(const std::string &type, + const framework::VariableNameMap &inputs, + const framework::VariableNameMap &outputs, + const framework::AttributeMap &attrs) + : OperatorWithKernel(type, inputs, outputs, attrs) {} + + protected: + void InferShape(const framework::InferShapeContext &ctx) const override { + auto dims = ctx.Input<framework::Tensor>("X")->dims(); + auto *d_in = ctx.Output<framework::Tensor>(framework::GradVarName("X")); + d_in->Resize(dims); + } +}; + +} // namespace operators +} // namespace paddle +namespace ops = paddle::operators; + +REGISTER_OP(reshape, ops::ReshapeOp, ops::ReshapeOpMaker, reshape_grad, + ops::ReshapeGradOp); +REGISTER_OP_CPU_KERNEL(reshape, + ops::ReshapeKernel<paddle::platform::CPUPlace, float>); +REGISTER_OP_CPU_KERNEL( + reshape_grad, ops::ReshapeGradKernel<paddle::platform::CPUPlace, float>); diff --git a/paddle/operators/reshape_op.cu b/paddle/operators/reshape_op.cu new file mode 100644 index 0000000000..23dbe089d3 --- /dev/null +++ b/paddle/operators/reshape_op.cu @@ -0,0 +1,22 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. */ + +#include "paddle/operators/reshape_op.h" + +REGISTER_OP_GPU_KERNEL( + reshape, + paddle::operators::ReshapeKernel<paddle::platform::GPUPlace, float>); +REGISTER_OP_GPU_KERNEL( + reshape_grad, + paddle::operators::ReshapeGradKernel<paddle::platform::GPUPlace, float>); diff --git a/paddle/operators/reshape_op.h b/paddle/operators/reshape_op.h new file mode 100644 index 0000000000..22ede88b12 --- /dev/null +++ b/paddle/operators/reshape_op.h @@ -0,0 +1,60 @@ + +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. */ + +#pragma once + +#include "paddle/framework/eigen.h" +#include "paddle/framework/op_registry.h" + +namespace paddle { +namespace operators { + +using Tensor = framework::Tensor; + +template <typename Place, typename T, typename AttrType = T> +class ReshapeKernel : public framework::OpKernel { + public: + void Compute(const framework::ExecutionContext& ctx) const { + auto* out = ctx.Output<Tensor>("Out"); + auto* in = ctx.Input<Tensor>("X"); + out->mutable_data<T>(in->place()); + + auto shape = ctx.Attr<std::vector<int>>("shape"); + std::vector<int64_t> tmp; + for (auto dim : shape) { + tmp.push_back(dim); + } + auto out_dims = framework::make_ddim(tmp); + out->CopyFrom<T>(*in, ctx.GetPlace()); + out->Resize(out_dims); + } +}; + +template <typename Place, typename T, typename AttrType = T> +class ReshapeGradKernel : public framework::OpKernel { + public: + void Compute(const framework::ExecutionContext& ctx) const { + auto* d_out = ctx.Input<Tensor>(framework::GradVarName("Out")); + auto* d_x = ctx.Output<Tensor>(framework::GradVarName("X")); + d_x->mutable_data<T>(ctx.GetPlace()); + + auto in_dims = d_x->dims(); + + d_x->CopyFrom<T>(*d_out, ctx.GetPlace()); + d_x->Resize(in_dims); + } +}; +} +} diff --git a/paddle/pybind/pybind.cc b/paddle/pybind/pybind.cc index c21ad3470b..bf1a321c3f 100644 --- a/paddle/pybind/pybind.cc +++ b/paddle/pybind/pybind.cc @@ -50,6 +50,7 @@ USE_OP(cos_sim); USE_CPU_ONLY_OP(gather); USE_CPU_ONLY_OP(scatter); USE_OP(squared_l2_distance); +USE_OP(reshape); namespace paddle { namespace framework { diff --git a/python/paddle/v2/framework/tests/CMakeLists.txt b/python/paddle/v2/framework/tests/CMakeLists.txt index a9c33ea163..9d41b84e57 100644 --- a/python/paddle/v2/framework/tests/CMakeLists.txt +++ b/python/paddle/v2/framework/tests/CMakeLists.txt @@ -34,3 +34,4 @@ py_test(test_lookup_table SRCS test_lookup_table.py) py_test(test_scale_and_identity_op SRCS test_scale_and_identity_op.py) py_test(mnist SRCS mnist.py) py_test(test_squared_l2_distance_op SRCS test_squared_l2_distance_op.py) +py_test(test_reshape_op SRCS test_reshape_op.py) diff --git a/python/paddle/v2/framework/tests/test_reshape_op.py b/python/paddle/v2/framework/tests/test_reshape_op.py new file mode 100644 index 0000000000..c101b0df9a --- /dev/null +++ b/python/paddle/v2/framework/tests/test_reshape_op.py @@ -0,0 +1,28 @@ +import unittest +import numpy as np +from gradient_checker import GradientChecker, create_op +from op_test_util import OpTestMeta + + +class TestReshapeOp(unittest.TestCase): + __metaclass__ = OpTestMeta + + def setUp(self): + self.type = "reshape" + self.inputs = {'X': np.random.random((2, 4)).astype("float32"), } + print self.inputs + self.attrs = {'shape': [4, 2]} + self.outputs = {'Out': self.inputs['X'].reshape(self.attrs['shape'])} + print self.outputs + + +class ReshapeGradOpTest(GradientChecker): + def test_normal(self): + op = create_op("reshape") + inputs = {"X": np.random.random((2, 4)).astype("float32")} + attrs = {'shape': [4, 2]} + self.check_grad(op, inputs, attrs, set("X"), "Out") + + +if __name__ == '__main__': + unittest.main() From bea82122dd3c66e3a4cd69939a7ac68f7cce9524 Mon Sep 17 00:00:00 2001 From: dangqingqing <dangqingqing@baidu.com> Date: Thu, 7 Sep 2017 15:29:42 +0800 Subject: [PATCH 18/66] Expose LoDTensor to pybind. --- paddle/pybind/pybind.cc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/paddle/pybind/pybind.cc b/paddle/pybind/pybind.cc index ba28b51ade..0b9d2697d2 100644 --- a/paddle/pybind/pybind.cc +++ b/paddle/pybind/pybind.cc @@ -17,6 +17,7 @@ limitations under the License. */ #include <vector> #include "paddle/framework/backward.h" +#include "paddle/framework/lod_tensor.h" #include "paddle/framework/op_registry.h" #include "paddle/operators/net_op.h" #include "paddle/operators/recurrent_op.h" @@ -54,6 +55,7 @@ namespace paddle { namespace framework { using Tensor = framework::Tensor; +using LODTensor = framework::LODTensor; static size_t UniqueIntegerGenerator() { static std::atomic<size_t> generator; @@ -113,6 +115,25 @@ PYBIND11_PLUGIN(core) { return self.data<float>()[offset]; }); + py::class_<LODTensor>(m, "LODTensor", R"DOC(LOD(Leval of Ddetails) Tensor. + +The tensor and LOD info should be created before creating the LODTensor, then +call the set_tensor and set_lod functions to set them. + +)DOC") + .def("set_tensor", + [](LODTensor &self, Tensor *tensor) { self.set_tensor(tensor); }) + .def("set_lod", + [](LODTensor &self, std::vector<std::vector<size_t>> &lod) { + self.set_lod(lod); + }) + .def("get_tensor", + [](LODTensor &self) -> Tensor & { return self.tensor(); }, + py::return_value_policy::reference) + .def("get_lod", [](LODTensor &self) -> std::vector<std::vector<size_t>> { + return self.lod(); + }); + py::class_<Variable>(m, "Variable", R"DOC(Variable Class. All parameter, weight, gradient are variables in Paddle. @@ -124,6 +145,11 @@ All parameter, weight, gradient are variables in Paddle. .def("get_tensor", [](Variable &self) -> Tensor * { return self.GetMutable<Tensor>(); }, py::return_value_policy::reference) + .def("get_lod_tensor", + [](Variable &self) -> LODTensor * { + return self.GetMutable<LODTensor>(); + }, + py::return_value_policy::reference) .def("get_net", [](Variable &self) -> operators::NetOp * { return self.GetMutable<operators::NetOp>(); From 899c7d6b353c04565ebaa46d85de57348631f2e1 Mon Sep 17 00:00:00 2001 From: Yibing Liu <liuyibing01@baidu.com> Date: Thu, 7 Sep 2017 04:16:32 -0700 Subject: [PATCH 19/66] pass unit test --- paddle/operators/reshape_op.cc | 3 ++- paddle/operators/reshape_op.h | 7 +++---- .../paddle/v2/framework/tests/test_reshape_op.py | 15 ++++++--------- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/paddle/operators/reshape_op.cc b/paddle/operators/reshape_op.cc index 1b073a79bc..d75ec76632 100644 --- a/paddle/operators/reshape_op.cc +++ b/paddle/operators/reshape_op.cc @@ -38,6 +38,7 @@ class ReshapeOp : public framework::OperatorWithKernel { size_t in_size = framework::product(in->dims()); PADDLE_ENFORCE_EQ(shape_size, in_size, "The size of Input(X) mismatches with Attr(shape)."); + ctx.Output<framework::Tensor>("Out")->Resize(in->dims()); } }; @@ -51,7 +52,7 @@ class ReshapeOpMaker : public framework::OpProtoAndCheckerMaker { AddAttr<std::vector<int>>("shape", "Target shape of reshape operator."); AddComment(R"DOC(Reshape operator -The input tensor will be reshaped with Attr(shape). +Reshape Input(X) into the shape specified by Attr(shape). )DOC"); } }; diff --git a/paddle/operators/reshape_op.h b/paddle/operators/reshape_op.h index 22ede88b12..61d502c836 100644 --- a/paddle/operators/reshape_op.h +++ b/paddle/operators/reshape_op.h @@ -23,13 +23,13 @@ namespace operators { using Tensor = framework::Tensor; -template <typename Place, typename T, typename AttrType = T> +template <typename Place, typename T> class ReshapeKernel : public framework::OpKernel { public: void Compute(const framework::ExecutionContext& ctx) const { auto* out = ctx.Output<Tensor>("Out"); auto* in = ctx.Input<Tensor>("X"); - out->mutable_data<T>(in->place()); + out->mutable_data<T>(ctx.GetPlace()); auto shape = ctx.Attr<std::vector<int>>("shape"); std::vector<int64_t> tmp; @@ -42,7 +42,7 @@ class ReshapeKernel : public framework::OpKernel { } }; -template <typename Place, typename T, typename AttrType = T> +template <typename Place, typename T> class ReshapeGradKernel : public framework::OpKernel { public: void Compute(const framework::ExecutionContext& ctx) const { @@ -51,7 +51,6 @@ class ReshapeGradKernel : public framework::OpKernel { d_x->mutable_data<T>(ctx.GetPlace()); auto in_dims = d_x->dims(); - d_x->CopyFrom<T>(*d_out, ctx.GetPlace()); d_x->Resize(in_dims); } diff --git a/python/paddle/v2/framework/tests/test_reshape_op.py b/python/paddle/v2/framework/tests/test_reshape_op.py index c101b0df9a..4797019435 100644 --- a/python/paddle/v2/framework/tests/test_reshape_op.py +++ b/python/paddle/v2/framework/tests/test_reshape_op.py @@ -1,6 +1,6 @@ import unittest import numpy as np -from gradient_checker import GradientChecker, create_op +from gradient_checker import GradientChecker, Operator from op_test_util import OpTestMeta @@ -9,19 +9,16 @@ class TestReshapeOp(unittest.TestCase): def setUp(self): self.type = "reshape" - self.inputs = {'X': np.random.random((2, 4)).astype("float32"), } - print self.inputs - self.attrs = {'shape': [4, 2]} + self.inputs = {'X': np.random.random((37, 51)).astype("float32"), } + self.attrs = {'shape': [51, 37]} self.outputs = {'Out': self.inputs['X'].reshape(self.attrs['shape'])} - print self.outputs class ReshapeGradOpTest(GradientChecker): def test_normal(self): - op = create_op("reshape") - inputs = {"X": np.random.random((2, 4)).astype("float32")} - attrs = {'shape': [4, 2]} - self.check_grad(op, inputs, attrs, set("X"), "Out") + op = Operator("reshape", X='X', Out='Out', shape=[5, 40]) + inputs = {"X": np.random.random((10, 20)).astype("float32")} + self.check_grad(op, inputs, set("X"), "Out") if __name__ == '__main__': From a2a69f2a54cd7588ede6846deac758e8e8dc6b6e Mon Sep 17 00:00:00 2001 From: qingqing01 <dangqingqing@baidu.com> Date: Thu, 7 Sep 2017 20:33:48 +0800 Subject: [PATCH 20/66] Add function to get element count from tensor. --- paddle/framework/tensor.h | 6 ++++++ paddle/framework/tensor_impl.h | 13 ++++++++----- paddle/operators/cos_sim_op.h | 4 ++-- paddle/operators/gaussian_random_op.cc | 2 +- paddle/operators/gaussian_random_op.cu | 4 ++-- paddle/operators/lookup_table_op.cu | 4 ++-- paddle/operators/lookup_table_op.h | 4 ++-- paddle/operators/mean_op.h | 5 ++--- paddle/operators/minus_op.cc | 3 +-- paddle/operators/squared_l2_distance_op.cc | 6 ++---- paddle/operators/squared_l2_distance_op.h | 4 ++-- paddle/operators/uniform_random_op.cc | 2 +- paddle/operators/uniform_random_op.cu | 4 ++-- 13 files changed, 33 insertions(+), 28 deletions(-) diff --git a/paddle/framework/tensor.h b/paddle/framework/tensor.h index 643f875491..fc54ed697f 100644 --- a/paddle/framework/tensor.h +++ b/paddle/framework/tensor.h @@ -78,6 +78,9 @@ class Tensor { /*! Return the dimensions of the memory block. */ inline const DDim& dims() const; + /*! Return the numel of the memory block. */ + inline int64_t numel() const; + /*! Resize the dimensions of the memory block. */ inline Tensor& Resize(const DDim& dims); @@ -159,6 +162,9 @@ class Tensor { /*! points to dimensions of memory block. */ DDim dims_; + /*! the element count of tensor. */ + int64_t numel_; + /** * @brief A PlaceHolder may be shared by more than one tensor. * diff --git a/paddle/framework/tensor_impl.h b/paddle/framework/tensor_impl.h index 94f436294f..03678784b4 100644 --- a/paddle/framework/tensor_impl.h +++ b/paddle/framework/tensor_impl.h @@ -24,7 +24,7 @@ inline void Tensor::check_memory_size() const { PADDLE_ENFORCE_NOT_NULL( holder_, "Tenosr holds no memory. Call Tensor::mutable_data first."); PADDLE_ENFORCE_GE( - holder_->size(), product(dims_) * sizeof(T) + offset_, + holder_->size(), numel_ * sizeof(T) + offset_, "Tensor's dims_ is out of bound. Call Tensor::mutable_data " "first to re-allocate memory.\n" "or maybe the required data-type mismatches the data already stored."); @@ -54,11 +54,11 @@ inline T* Tensor::mutable_data(DDim dims, platform::Place place) { template <typename T> inline T* Tensor::mutable_data(platform::Place place) { static_assert(std::is_pod<T>::value, "T must be POD"); - PADDLE_ENFORCE_GT(product(dims_), 0, + PADDLE_ENFORCE_GT(numel_, 0, "Tensor's numel must be larger than zero to call " "Tensor::mutable_data. Call Tensor::set_dim first."); /* some versions of boost::variant don't have operator!= */ - int64_t size = product(dims_) * sizeof(T); + int64_t size = numel_ * sizeof(T); if (holder_ == nullptr || !(holder_->place() == place) || holder_->size() < size + offset_) { if (platform::is_cpu_place(place)) { @@ -97,7 +97,7 @@ inline void Tensor::CopyFrom(const Tensor& src, auto dst_ptr = static_cast<void*>(mutable_data<T>(dst_place)); - auto size = product(src.dims_) * sizeof(T); + auto size = src.numel() * sizeof(T); if (platform::is_cpu_place(src_place) && platform::is_cpu_place(dst_place)) { memory::Copy(boost::get<platform::CPUPlace>(dst_place), dst_ptr, @@ -131,7 +131,7 @@ inline Tensor Tensor::Slice(const int& begin_idx, const int& end_idx) const { PADDLE_ENFORCE_LT(begin_idx, end_idx, "Begin index must be less than end index."); PADDLE_ENFORCE_NE(dims_[0], 1, "Can not slice a tensor with dims_[0] = 1."); - size_t base = product(dims_) / dims_[0]; + size_t base = numel_ / dims_[0]; Tensor dst; dst.holder_ = holder_; DDim dst_dims = dims_; @@ -143,10 +143,13 @@ inline Tensor Tensor::Slice(const int& begin_idx, const int& end_idx) const { inline Tensor& Tensor::Resize(const DDim& dims) { dims_ = dims; + numel_ = product(dims_); return *this; } inline const DDim& Tensor::dims() const { return dims_; } +inline int64_t Tensor::numel() const { return numel_; } + } // namespace framework } // namespace paddle diff --git a/paddle/operators/cos_sim_op.h b/paddle/operators/cos_sim_op.h index 9e2bcebe3b..0dc5099525 100644 --- a/paddle/operators/cos_sim_op.h +++ b/paddle/operators/cos_sim_op.h @@ -42,7 +42,7 @@ class CosSimKernel : public framework::OpKernel { output_y_norm->mutable_data<T>(context.GetPlace()); auto dims = input_x->dims(); - int size = static_cast<int>(framework::product(dims)); + int64_t size = input_x->numel(); auto new_dims = framework::make_ddim({dims[0], size / dims[0]}); auto x = EigenMatrix<T>::From(*input_x, new_dims); auto y = EigenMatrix<T>::From(*input_y, new_dims); @@ -72,7 +72,7 @@ class CosSimGradKernel : public framework::OpKernel { auto* input_grad_z = context.Input<Tensor>(framework::GradVarName("Out")); auto dims = input_x->dims(); - int size = static_cast<int>(framework::product(dims)); + int64_t size = input_x->numel(); auto new_dims = framework::make_ddim({dims[0], size / dims[0]}); auto x = EigenMatrix<T>::From(*input_x, new_dims); auto y = EigenMatrix<T>::From(*input_y, new_dims); diff --git a/paddle/operators/gaussian_random_op.cc b/paddle/operators/gaussian_random_op.cc index 6574880c0e..3d76516405 100644 --- a/paddle/operators/gaussian_random_op.cc +++ b/paddle/operators/gaussian_random_op.cc @@ -31,7 +31,7 @@ class CPUGaussianRandomKernel : public framework::OpKernel { } engine.seed(seed); std::normal_distribution<T> dist(mean, std); - int64_t size = framework::product(tensor->dims()); + int64_t size = tensor->numel(); for (int64_t i = 0; i < size; ++i) { data[i] = dist(engine); } diff --git a/paddle/operators/gaussian_random_op.cu b/paddle/operators/gaussian_random_op.cu index d9dbc1dcfe..2d63b30499 100644 --- a/paddle/operators/gaussian_random_op.cu +++ b/paddle/operators/gaussian_random_op.cu @@ -50,8 +50,8 @@ class GPUGaussianRandomKernel : public framework::OpKernel { T mean = static_cast<T>(context.Attr<float>("mean")); T std = static_cast<T>(context.Attr<float>("std")); thrust::counting_iterator<unsigned int> index_sequence_begin(0); - ssize_t N = framework::product(tensor->dims()); - thrust::transform(index_sequence_begin, index_sequence_begin + N, + int64_t size = tensor->numel(); + thrust::transform(index_sequence_begin, index_sequence_begin + size, thrust::device_ptr<T>(data), GaussianGenerator<T>(mean, std, seed)); } diff --git a/paddle/operators/lookup_table_op.cu b/paddle/operators/lookup_table_op.cu index 27eee3436a..7083440467 100644 --- a/paddle/operators/lookup_table_op.cu +++ b/paddle/operators/lookup_table_op.cu @@ -70,7 +70,7 @@ class LookupTableCUDAKernel : public framework::OpKernel { size_t N = table_t->dims()[0]; size_t D = table_t->dims()[1]; - size_t K = product(ids_t->dims()); + size_t K = ids_t->numel(); auto ids = ids_t->data<int32_t>(); auto table = table_t->data<T>(); auto output = output_t->mutable_data<T>(context.GetPlace()); @@ -91,7 +91,7 @@ class LookupTableGradCUDAKernel : public framework::OpKernel { int N = d_table_t->dims()[0]; int D = d_table_t->dims()[1]; - int K = product(ids_t->dims()); + int K = ids_t->numel(); const int32_t* ids = ids_t->data<int32_t>(); const T* d_output = d_output_t->data<T>(); T* d_table = d_table_t->mutable_data<T>(context.GetPlace()); diff --git a/paddle/operators/lookup_table_op.h b/paddle/operators/lookup_table_op.h index 877b36cef4..a1298906dd 100644 --- a/paddle/operators/lookup_table_op.h +++ b/paddle/operators/lookup_table_op.h @@ -35,7 +35,7 @@ class LookupTableKernel : public framework::OpKernel { auto ids = ids_t->data<int32_t>(); auto table = table_t->data<T>(); auto output = output_t->mutable_data<T>(context.GetPlace()); - for (ssize_t i = 0; i < product(ids_t->dims()); ++i) { + for (int64_t i = 0; i < ids_t->numel(); ++i) { PADDLE_ENFORCE_LT(ids[i], N); PADDLE_ENFORCE_GE(ids[i], 0); memcpy(output + i * D, table + ids[i] * D, D * sizeof(T)); @@ -61,7 +61,7 @@ class LookupTableGradKernel : public framework::OpKernel { t.device(context.GetEigenDevice<platform::CPUPlace>()) = t.constant(static_cast<T>(0)); - for (ssize_t i = 0; i < product(ids_t->dims()); ++i) { + for (int64_t i = 0; i < ids_t->numel(); ++i) { PADDLE_ENFORCE_LT(ids[i], N); PADDLE_ENFORCE_GE(ids[i], 0); for (int j = 0; j < D; ++j) { diff --git a/paddle/operators/mean_op.h b/paddle/operators/mean_op.h index 9848af280b..ce31e178d8 100644 --- a/paddle/operators/mean_op.h +++ b/paddle/operators/mean_op.h @@ -49,12 +49,11 @@ class MeanGradKernel : public framework::OpKernel { public: void Compute(const framework::ExecutionContext& context) const override { auto OG = context.Input<Tensor>(framework::GradVarName("Out")); - PADDLE_ENFORCE(framework::product(OG->dims()) == 1, - "Mean Gradient should be scalar"); + PADDLE_ENFORCE(OG->numel() == 1, "Mean Gradient should be scalar"); auto IG = context.Output<Tensor>(framework::GradVarName("X")); IG->mutable_data<T>(context.GetPlace()); - T ig_size = (T)framework::product(IG->dims()); + T ig_size = static_cast<T>(IG->numel()); Eigen::DSizes<int, 1> bcast(ig_size); EigenVector<T>::Flatten(*IG).device(context.GetEigenDevice<Place>()) = diff --git a/paddle/operators/minus_op.cc b/paddle/operators/minus_op.cc index 069fb5e1ab..a4876feb2e 100644 --- a/paddle/operators/minus_op.cc +++ b/paddle/operators/minus_op.cc @@ -31,8 +31,7 @@ class MinusOp : public framework::OperatorWithKernel { auto *right_tensor = ctx.Input<framework::Tensor>("Y"); PADDLE_ENFORCE_EQ( - framework::product(left_tensor->dims()), - framework::product(right_tensor->dims()), + left_tensor->numel(), right_tensor->numel(), "Minus operator must take two tensor with same num of elements"); ctx.Output<framework::Tensor>("Out")->Resize(left_tensor->dims()); } diff --git a/paddle/operators/squared_l2_distance_op.cc b/paddle/operators/squared_l2_distance_op.cc index dc30644a5e..9f51d3efa8 100644 --- a/paddle/operators/squared_l2_distance_op.cc +++ b/paddle/operators/squared_l2_distance_op.cc @@ -41,8 +41,7 @@ class SquaredL2DistanceOp : public framework::OperatorWithKernel { int rank = framework::arity(x_dims); PADDLE_ENFORCE_GE(rank, 2, "Tensor rank should be at least equal to 2."); - PADDLE_ENFORCE_EQ(framework::product(x_dims) / x_dims[0], - framework::product(y_dims) / y_dims[0], + PADDLE_ENFORCE_EQ(x->numel() / x_dims[0], y->numel() / y_dims[0], "Product of dimensions expcet the first dimension of " "input and target must be equal."); PADDLE_ENFORCE(y_dims[0] == 1 || y_dims[0] == x_dims[0], @@ -50,8 +49,7 @@ class SquaredL2DistanceOp : public framework::OperatorWithKernel { "or to 1."); ctx.Output<Tensor>("sub_result") - ->Resize({static_cast<int>(x_dims[0]), - static_cast<int>(framework::product(x_dims) / x_dims[0])}); + ->Resize({x_dims[0], x->numel() / x_dims[0]}); ctx.Output<Tensor>("Out")->Resize({x_dims[0], 1}); } }; diff --git a/paddle/operators/squared_l2_distance_op.h b/paddle/operators/squared_l2_distance_op.h index ad3347a0b3..097ac04fc0 100644 --- a/paddle/operators/squared_l2_distance_op.h +++ b/paddle/operators/squared_l2_distance_op.h @@ -39,7 +39,7 @@ class SquaredL2DistanceKernel : public framework::OpKernel { auto in0_dims = in0->dims(); auto in1_dims = in1->dims(); - int cols = framework::product(in0_dims) / in0_dims[0]; + int cols = in0->numel() / in0_dims[0]; // reduce dimensions except the first auto x = EigenMatrix<T>::From(*in0, framework::make_ddim({in0_dims[0], cols})); @@ -82,7 +82,7 @@ class SquaredL2DistanceGradKernel : public framework::OpKernel { auto x_dims = x_g->dims(); auto y_dims = y_g->dims(); - int cols = framework::product(x_dims) / x_dims[0]; + int cols = x_g->numel() / x_dims[0]; // calculate gradient auto grad_mat = 2 * (out_grad.broadcast(Eigen::array<int, 2>({{1, cols}}))) * diff --git a/paddle/operators/uniform_random_op.cc b/paddle/operators/uniform_random_op.cc index f2aeef6c31..b8fbc9b52a 100644 --- a/paddle/operators/uniform_random_op.cc +++ b/paddle/operators/uniform_random_op.cc @@ -35,7 +35,7 @@ class CPUUniformRandomKernel : public framework::OpKernel { std::uniform_real_distribution<T> dist( static_cast<T>(context.Attr<float>("min")), static_cast<T>(context.Attr<float>("max"))); - int64_t size = framework::product(tensor->dims()); + int64_t size = tensor->numel(); for (int64_t i = 0; i < size; ++i) { data[i] = dist(engine); } diff --git a/paddle/operators/uniform_random_op.cu b/paddle/operators/uniform_random_op.cu index c2c041b144..6614b53b3f 100644 --- a/paddle/operators/uniform_random_op.cu +++ b/paddle/operators/uniform_random_op.cu @@ -53,8 +53,8 @@ class GPUUniformRandomKernel : public framework::OpKernel { T min = static_cast<T>(context.Attr<float>("min")); T max = static_cast<T>(context.Attr<float>("max")); thrust::counting_iterator<unsigned int> index_sequence_begin(0); - ssize_t N = framework::product(tensor->dims()); - thrust::transform(index_sequence_begin, index_sequence_begin + N, + int64_t size = tensor->numel(); + thrust::transform(index_sequence_begin, index_sequence_begin + size, thrust::device_ptr<T>(data), UniformGenerator<T>(min, max, seed)); } From f50e36e2855a27160750aae26458f07eaaaae4d7 Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Fri, 8 Sep 2017 14:54:29 +0800 Subject: [PATCH 21/66] follow comments --- paddle/framework/operator.cc | 9 +++ paddle/framework/operator.h | 22 +----- paddle/operators/sum_op.cc | 10 ++- paddle/pybind/pybind.cc | 11 +-- python/paddle/v2/framework/tests/op_test.py | 78 ++++++++++--------- .../framework/tests/test_cross_entropy_op.py | 8 +- .../v2/framework/tests/test_sigmoid_op.py | 4 +- .../paddle/v2/framework/tests/test_sum_op.py | 4 +- 8 files changed, 67 insertions(+), 79 deletions(-) diff --git a/paddle/framework/operator.cc b/paddle/framework/operator.cc index 790cfc4746..e1e122091f 100644 --- a/paddle/framework/operator.cc +++ b/paddle/framework/operator.cc @@ -123,6 +123,15 @@ OperatorBase::OperatorBase(const std::string& type, CheckAllInputOutputSet(); } +std::vector<std::string> OperatorBase::InputVars() const { + std::vector<std::string> ret_val; + for (auto& o : outputs_) { + ret_val.reserve(ret_val.size() + o.second.size()); + ret_val.insert(ret_val.end(), o.second.begin(), o.second.end()); + } + return ret_val; +} + std::vector<std::string> OperatorBase::OutputVars(bool has_intermediate) const { std::vector<std::string> ret_val; if (has_intermediate) { diff --git a/paddle/framework/operator.h b/paddle/framework/operator.h index be302669cd..d0316224e9 100644 --- a/paddle/framework/operator.h +++ b/paddle/framework/operator.h @@ -95,31 +95,13 @@ class OperatorBase { const VariableNameMap& Inputs() const { return inputs_; } const VariableNameMap& Outputs() const { return outputs_; } - const std::vector<std::string> InputsNames() const { - std::vector<std::string> result; - for (auto& kv : inputs_) { - for (auto& name : kv.second) { - result.push_back(name); - } - } - return result; - } - - const std::vector<std::string> OutputsNames() const { - std::vector<std::string> result; - for (auto& kv : outputs_) { - for (auto& name : kv.second) { - result.push_back(name); - } - } - return result; - } - //! Get a input with argument's name described in `op_proto` std::string Input(const std::string& name) const; //! Get a input which has multiple variables. const std::vector<std::string>& Inputs(const std::string& name) const; + std::vector<std::string> InputVars() const; + //! Get a output with argument's name described in `op_proto` std::string Output(const std::string& name) const; //! Get an output which has multiple variables. diff --git a/paddle/operators/sum_op.cc b/paddle/operators/sum_op.cc index cf650787c6..5805826ee8 100644 --- a/paddle/operators/sum_op.cc +++ b/paddle/operators/sum_op.cc @@ -26,10 +26,14 @@ class SumOp : public framework::OperatorWithKernel { auto *out = ctx.Output<framework::Tensor>("Out"); int N = ins.size(); - PADDLE_ENFORCE_GT(N, 1, "Input tensors count should > 1."); + auto in_dim = ins[0]->dims(); - auto dim_zero = ins[0]->dims(); - out->Resize(dim_zero); + PADDLE_ENFORCE_GT(N, 1, "Input tensors count should > 1."); + for (int i = 1; i < N; i++) { + auto dim = ins[i]->dims(); + PADDLE_ENFORCE(in_dim == dim, "Input tensors must have same shape"); + } + out->Resize(in_dim); } }; diff --git a/paddle/pybind/pybind.cc b/paddle/pybind/pybind.cc index a678bc4940..7d8e2d8fb7 100644 --- a/paddle/pybind/pybind.cc +++ b/paddle/pybind/pybind.cc @@ -214,15 +214,10 @@ All parameter, weight, gradient are variables in Paddle. -> std::map<std::string, std::vector<std::string>> { return op.Outputs(); }) - .def("outputs_names", - [](const OperatorBase &op) -> std::vector<std::string> { - return op.OutputsNames(); - }) + .def("output_vars", + [](const OperatorBase &op) { return op.OutputVars(true); }) .def("inputs", [](const OperatorBase &op) { return op.Inputs(); }) - .def("inputs_names", - [](const OperatorBase &op) -> std::vector<std::string> { - return op.InputsNames(); - }) + .def("input_vars", [](const OperatorBase &op) { return op.InputVars(); }) .def("__str__", &OperatorBase::DebugString) .def("no_intermediate_outputs", [](const OperatorBase &op) { return op.OutputVars(false); }) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py index 3f8e1236ff..09ee8ce385 100644 --- a/python/paddle/v2/framework/tests/op_test.py +++ b/python/paddle/v2/framework/tests/op_test.py @@ -9,54 +9,40 @@ def grad_var_name(var_name): return var_name + "@GRAD" -def remove_grad_var_name(var_name): - return var_name[0:-5] - - def create_op(scope, op_type, inputs, outputs, attrs=None): kwargs = dict() - for ins in Operator.get_op_inputs(op_type): - in_name = ins[0] - in_dup = ins[1] + for in_name, in_dup in Operator.get_op_inputs(op_type): if in_name in inputs: kwargs[in_name] = [] if in_dup: sub_in = inputs[in_name] for sub_in_name in sub_in: var = scope.new_var(sub_in_name) - tensor = var.get_tensor() kwargs[in_name].append(sub_in_name) else: var = scope.new_var(in_name) - tensor = var.get_tensor() kwargs[in_name].append(in_name) - for outs in Operator.get_op_outputs(op_type): - out_name = outs[0] - out_dup = outs[1] + for out_name, out_dup in Operator.get_op_outputs(op_type): if out_name in outputs: kwargs[out_name] = [] if out_dup: sub_in = outputs[out_name] for sun_in_name in sub_in: var = scope.new_var(sun_in_name) - tensor = var.get_tensor() kwargs[out_name].append(sun_in_name) else: var = scope.new_var(out_name) - tensor = var.get_tensor() kwargs[out_name].append(out_name) - # for attr_name in Operator.get_op_attr_names(op_type): - # kwargs[attr_name] = attrs[attr_name] + for attr_name in Operator.get_op_attr_names(op_type): + kwargs[attr_name] = attrs[attr_name] return Operator(op_type, **kwargs) def set_input(scope, op, inputs, place): - for ins in Operator.get_op_inputs(op.type()): - in_name = ins[0] - in_dup = ins[1] + for in_name, in_dup in Operator.get_op_inputs(op.type()): if in_name in inputs: if in_dup: sub_in = inputs[in_name] @@ -75,9 +61,7 @@ def set_input(scope, op, inputs, place): def set_output_grad(scope, op, outputs, place): - for outs in Operator.get_op_outputs(op.type()): - out_name = outs[0] - out_dup = outs[1] + for out_name, out_dup in Operator.get_op_outputs(op.type()): if out_name in outputs: if out_dup: sub_out = outputs[out_name] @@ -150,10 +134,10 @@ def get_numeric_gradient(scope, def get_backward_op(scope, op, no_grad_set): backward_op = core.Operator.backward(op, no_grad_set) - for input in backward_op.inputs_names(): + for input in backward_op.input_vars(): var = scope.new_var(input) var.get_tensor() - for output in backward_op.outputs_names(): + for output in backward_op.output_vars(): var = scope.new_var(output) var.get_tensor() return backward_op @@ -182,7 +166,7 @@ def get_gradient(scope, op, inputs, outputs, grad_name, place, class OpTest(unittest.TestCase): - def check_output(self, place): + def check_output_with_place(self, place): self.scope = core.Scope() self.op = create_op(self.scope, self.op_type, self.inputs, self.outputs) if isinstance(place, core.GPUPlace) and not self.op.support_gpu(): @@ -192,9 +176,7 @@ class OpTest(unittest.TestCase): ctx = core.DeviceContext.create(place) self.op.run(self.scope, ctx) - for outs in Operator.get_op_outputs(self.op.type()): - out_name = outs[0] - out_dup = outs[1] + for out_name, out_dup in Operator.get_op_outputs(self.op.type()): if out_dup: sub_out = self.outputs[out_name] for sub_out_name in sub_out: @@ -213,6 +195,13 @@ class OpTest(unittest.TestCase): actual, expect, atol=1e-05), "output name: " + out_name + "has diff") + def check_output(self): + places = [core.CPUPlace()] + if core.is_compile_gpu() and self.op.support_gpu(): + places.append(core.GPUPlace(0)) + for place in places: + self.check_output_with_place(place) + def __assert_is_close(self, numeric_grads, analytic_grads, names, max_relative_error, msg_prefix): @@ -255,17 +244,32 @@ class OpTest(unittest.TestCase): grad_var_name(input_to_check) for input_to_check in inputs_to_check ] - places = [core.CPUPlace()] - if core.is_compile_gpu() and self.op.support_gpu(): - places.append(core.GPUPlace(0)) + cpu_place = core.CPUPlace() + cpu_analytic_grads = [ + get_gradient(self.scope, self.op, self.inputs, self.outputs, + grad_name, cpu_place, no_grad_set) + for grad_name in grad_names + ] - for place in places: - analytic_grads = [ + self.__assert_is_close(numeric_grads, cpu_analytic_grads, grad_names, + max_relative_error, + "Gradient Check On %s" % str(cpu_place)) + + if core.is_compile_gpu() and self.op.support_gpu(): + gpu_place = core.GPUPlace(0) + gpu_analytic_grads = [ get_gradient(self.scope, self.op, self.inputs, self.outputs, - grad_name, place, no_grad_set) + grad_name, gpu_place, no_grad_set) for grad_name in grad_names ] - self.__assert_is_close(numeric_grads, analytic_grads, grad_names, - max_relative_error, - "Gradient Check On %s" % str(place)) + self.__assert_is_close(numeric_grads, gpu_analytic_grads, + grad_names, max_relative_error, + "Gradient Check On %s" % str(gpu_place)) + + for c_grad, g_grad, name in itertools.izip( + cpu_analytic_grads, gpu_analytic_grads, grad_names): + self.assertTrue( + numpy.allclose( + c_grad, g_grad, atol=1e-4), + "output name: " + name + " has diff") diff --git a/python/paddle/v2/framework/tests/test_cross_entropy_op.py b/python/paddle/v2/framework/tests/test_cross_entropy_op.py index 20e0de3520..1956df0bb4 100644 --- a/python/paddle/v2/framework/tests/test_cross_entropy_op.py +++ b/python/paddle/v2/framework/tests/test_cross_entropy_op.py @@ -1,14 +1,13 @@ import unittest import numpy from op_test import OpTest -import paddle.v2.framework.core as core class TestCrossEntropy(OpTest): def setUp(self): self.op_type = "onehot_cross_entropy" - batch_size = 4 - class_num = 4 + batch_size = 30 + class_num = 10 X = numpy.random.random((batch_size, class_num)).astype("float32") label = (class_num / 2) * numpy.ones(batch_size).astype("int32") self.inputs = {'X': X, 'label': label} @@ -18,8 +17,7 @@ class TestCrossEntropy(OpTest): self.outputs = {'Y': numpy.array(Y).astype("float32")} def test_check_output(self): - self.check_output(core.CPUPlace()) - self.check_output(core.GPUPlace(0)) + self.check_output() def test_check_grad(self): self.check_grad(["X"], "Y") diff --git a/python/paddle/v2/framework/tests/test_sigmoid_op.py b/python/paddle/v2/framework/tests/test_sigmoid_op.py index ff0823508f..2316e49eff 100644 --- a/python/paddle/v2/framework/tests/test_sigmoid_op.py +++ b/python/paddle/v2/framework/tests/test_sigmoid_op.py @@ -1,7 +1,6 @@ import unittest import numpy as np from op_test import OpTest -import paddle.v2.framework.core as core class TestSigmoid(OpTest): @@ -13,8 +12,7 @@ class TestSigmoid(OpTest): self.outputs = {'Y': 1 / (1 + np.exp(-self.inputs['X']))} def test_check_output(self): - self.check_output(core.CPUPlace()) - self.check_output(core.GPUPlace(0)) + self.check_output() def test_check_grad(self): self.check_grad(["X"], "Y", max_relative_error=0.007) diff --git a/python/paddle/v2/framework/tests/test_sum_op.py b/python/paddle/v2/framework/tests/test_sum_op.py index 2a7b65ef52..66417d70e8 100644 --- a/python/paddle/v2/framework/tests/test_sum_op.py +++ b/python/paddle/v2/framework/tests/test_sum_op.py @@ -1,7 +1,6 @@ import unittest import numpy as np from op_test import OpTest -import paddle.v2.framework.core as core class TestSumOp(OpTest): @@ -15,8 +14,7 @@ class TestSumOp(OpTest): self.outputs = {'Out': y} def test_check_output(self): - self.check_output(core.CPUPlace()) - self.check_output(core.GPUPlace(0)) + self.check_output() def test_check_grad(self): self.check_grad(["x0"], "Out") From 15627e48d8bcec72f16d51b5e654f28f8400d5fe Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Fri, 8 Sep 2017 07:44:46 +0000 Subject: [PATCH 22/66] fix gou test bug --- python/paddle/v2/framework/tests/op_test.py | 4 ++-- python/paddle/v2/framework/tests/test_cross_entropy_op.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py index 09ee8ce385..3a6a5dca4c 100644 --- a/python/paddle/v2/framework/tests/op_test.py +++ b/python/paddle/v2/framework/tests/op_test.py @@ -197,7 +197,7 @@ class OpTest(unittest.TestCase): def check_output(self): places = [core.CPUPlace()] - if core.is_compile_gpu() and self.op.support_gpu(): + if core.is_compile_gpu(): places.append(core.GPUPlace(0)) for place in places: self.check_output_with_place(place) @@ -270,6 +270,6 @@ class OpTest(unittest.TestCase): for c_grad, g_grad, name in itertools.izip( cpu_analytic_grads, gpu_analytic_grads, grad_names): self.assertTrue( - numpy.allclose( + np.allclose( c_grad, g_grad, atol=1e-4), "output name: " + name + " has diff") diff --git a/python/paddle/v2/framework/tests/test_cross_entropy_op.py b/python/paddle/v2/framework/tests/test_cross_entropy_op.py index 1956df0bb4..e693ba0ec2 100644 --- a/python/paddle/v2/framework/tests/test_cross_entropy_op.py +++ b/python/paddle/v2/framework/tests/test_cross_entropy_op.py @@ -8,7 +8,7 @@ class TestCrossEntropy(OpTest): self.op_type = "onehot_cross_entropy" batch_size = 30 class_num = 10 - X = numpy.random.random((batch_size, class_num)).astype("float32") + X = numpy.random.uniform(0.1, 1.0, [batch_size, class_num]).astype("float32") label = (class_num / 2) * numpy.ones(batch_size).astype("int32") self.inputs = {'X': X, 'label': label} Y = [] From c0192889ccfb947c391c08bf9827317f3769497e Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Fri, 8 Sep 2017 15:51:13 +0800 Subject: [PATCH 23/66] fix code style --- python/paddle/v2/framework/tests/test_cross_entropy_op.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/paddle/v2/framework/tests/test_cross_entropy_op.py b/python/paddle/v2/framework/tests/test_cross_entropy_op.py index e693ba0ec2..fb6a440e23 100644 --- a/python/paddle/v2/framework/tests/test_cross_entropy_op.py +++ b/python/paddle/v2/framework/tests/test_cross_entropy_op.py @@ -8,7 +8,8 @@ class TestCrossEntropy(OpTest): self.op_type = "onehot_cross_entropy" batch_size = 30 class_num = 10 - X = numpy.random.uniform(0.1, 1.0, [batch_size, class_num]).astype("float32") + X = numpy.random.uniform(0.1, 1.0, + [batch_size, class_num]).astype("float32") label = (class_num / 2) * numpy.ones(batch_size).astype("int32") self.inputs = {'X': X, 'label': label} Y = [] From 4c68405c95268e6f4275200e4c462b3b13f6ce85 Mon Sep 17 00:00:00 2001 From: qingqing01 <dangqingqing@baidu.com> Date: Fri, 8 Sep 2017 17:45:30 +0800 Subject: [PATCH 24/66] Fix name in test_lookup_table --- python/paddle/v2/framework/tests/test_lookup_table.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/paddle/v2/framework/tests/test_lookup_table.py b/python/paddle/v2/framework/tests/test_lookup_table.py index 19eb464baa..4b7ce92c0f 100644 --- a/python/paddle/v2/framework/tests/test_lookup_table.py +++ b/python/paddle/v2/framework/tests/test_lookup_table.py @@ -4,7 +4,7 @@ from op_test_util import OpTestMeta from gradient_checker import GradientChecker, create_op -class TestSigmoidOp(unittest.TestCase): +class TestLookupTableOp(unittest.TestCase): __metaclass__ = OpTestMeta def setUp(self): @@ -15,7 +15,7 @@ class TestSigmoidOp(unittest.TestCase): self.outputs = {'Out': table[ids]} -class TestSigmoidGradOp(GradientChecker): +class TestLookupTableGradOp(GradientChecker): def test_grad(self): op = create_op('lookup_table') table = np.random.random((17, 31)).astype('float32') From 91a0c11b194b324fb6abbbcdb0bab48720f1a8d6 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Fri, 8 Sep 2017 17:24:25 +0800 Subject: [PATCH 25/66] Adaptive data structure for SwitchOrderLayer --- paddle/gserver/layers/SwitchOrderLayer.cpp | 7 +++++-- proto/ModelConfig.proto | 1 + python/paddle/trainer_config_helpers/layers.py | 10 ++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/paddle/gserver/layers/SwitchOrderLayer.cpp b/paddle/gserver/layers/SwitchOrderLayer.cpp index 92cd61cdd5..d7eee6eaf0 100644 --- a/paddle/gserver/layers/SwitchOrderLayer.cpp +++ b/paddle/gserver/layers/SwitchOrderLayer.cpp @@ -24,10 +24,12 @@ bool SwitchOrderLayer::init(const LayerMap& layerMap, /* Initialize the basic parent class */ Layer::init(layerMap, parameterMap); auto& img_conf = config_.inputs(0).image_conf(); + size_t inD = img_conf.img_size_z(); size_t inH = img_conf.has_img_size_y() ? img_conf.img_size_y() : img_conf.img_size(); size_t inW = img_conf.img_size(); size_t inC = img_conf.channels(); + inH = inH * inD; inDims_ = TensorShape({0, inC, inH, inW}); outDims_ = TensorShape(4); @@ -64,9 +66,10 @@ void SwitchOrderLayer::setInDims() { MatrixPtr input = inputLayers_[0]->getOutputValue(); size_t batchSize = input->getHeight(); inDims_.setDim(0, batchSize); - + int d = inputLayers_[0]->getOutput().getFrameDepth(); + d = (d == 0 ? 1 : d); int h = inputLayers_[0]->getOutput().getFrameHeight(); - if (h != 0) inDims_.setDim(2, h); + if (h != 0) inDims_.setDim(2, h * d); int w = inputLayers_[0]->getOutput().getFrameWidth(); if (w != 0) inDims_.setDim(3, w); int totalCount = input->getElementCnt(); diff --git a/proto/ModelConfig.proto b/proto/ModelConfig.proto index 7d7fc23a46..2b3a8d6dcf 100644 --- a/proto/ModelConfig.proto +++ b/proto/ModelConfig.proto @@ -271,6 +271,7 @@ message ImageConfig { // The size of input feature map. required uint32 img_size = 8; optional uint32 img_size_y = 9; + optional uint32 img_size_z = 10 [ default = 1 ]; } message PriorBoxConfig { diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index cba45bd3af..9a43cb1709 100644 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -6410,7 +6410,7 @@ def gated_unit_layer(input, @wrap_name_default('switch_order') def switch_order_layer(input, name=None, - reshape=None, + reshape_axis=None, act=None, layer_attr=None): """ @@ -6421,8 +6421,9 @@ def switch_order_layer(input, The example usage is: .. code-block:: python + reshape_axis = 3 + switch = switch_order(input=layer, name='switch', reshape_axis=reshape_axis) reshape = {'height':[ 0, 1, 2], 'width':[3]} - switch = switch_order(input=layer, name='switch', reshape=reshape) :param input: The input layer. :type input: LayerOutput @@ -6434,6 +6435,11 @@ def switch_order_layer(input, :rtype: LayerOutput """ assert isinstance(input, LayerOutput) + assert reshape_axis != None and (reshape_axis > 0 and reshape_axis < 4) + height = [ele for ele in xrange(reshape_axis)] + width = [ele for ele in range(reshape_axis, 4)] + reshape = {'height': height, 'width': width} + l = Layer( name=name, inputs=input.name, From 26638e9cab3e4287b0c90dea3aa5f5d4a81f603d Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Sat, 9 Sep 2017 10:50:57 +0800 Subject: [PATCH 26/66] fix batch_norm parameter share --- python/paddle/trainer/config_parser.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index 11dc84ae20..12a629a031 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -2421,6 +2421,11 @@ class BatchNormLayer(LayerBase): psize = self.calc_parameter_size(image_conf) dims = [1, psize] + + self.inputs[1].parameter_name = self.inputs[0].parameter_name.split('.')[0] + '.' + \ + self.inputs[1].parameter_name.split('.')[1] + self.inputs[2].parameter_name = self.inputs[0].parameter_name.split('.')[0] + '.' + \ + self.inputs[2].parameter_name.split('.')[1] self.create_input_parameter(0, psize) self.create_input_parameter(1, psize, dims) self.create_input_parameter(2, psize, dims) From aea05b6e95fe934039bd3d1a7c64bdec5abf5462 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Sat, 9 Sep 2017 11:35:49 +0800 Subject: [PATCH 27/66] add param mean_var_names --- python/paddle/trainer/config_parser.py | 9 +++++---- python/paddle/trainer_config_helpers/layers.py | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index 12a629a031..9c765b32d3 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -2366,6 +2366,7 @@ class BatchNormLayer(LayerBase): inputs, bias=True, use_global_stats=True, + mean_var_names=None, moving_average_fraction=0.9, batch_norm_type=None, **xargs): @@ -2421,11 +2422,11 @@ class BatchNormLayer(LayerBase): psize = self.calc_parameter_size(image_conf) dims = [1, psize] + if mean_var_names is not None: + assert len(mean_var_names) == 2 + self.inputs[1].parameter_name = mean_var_names[0] + self.inputs[2].parameter_name = mean_var_names[1] - self.inputs[1].parameter_name = self.inputs[0].parameter_name.split('.')[0] + '.' + \ - self.inputs[1].parameter_name.split('.')[1] - self.inputs[2].parameter_name = self.inputs[0].parameter_name.split('.')[0] + '.' + \ - self.inputs[2].parameter_name.split('.')[1] self.create_input_parameter(0, psize) self.create_input_parameter(1, psize, dims) self.create_input_parameter(2, psize, dims) diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index cba45bd3af..4749f38c38 100644 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -2957,6 +2957,7 @@ def batch_norm_layer(input, bias_attr=None, param_attr=None, layer_attr=None, + mean_var_names=None, batch_norm_type=None, moving_average_fraction=0.9, use_global_stats=None): @@ -3014,6 +3015,8 @@ def batch_norm_layer(input, :type param_attr: ParameterAttribute :param layer_attr: Extra Layer Attribute. :type layer_attr: ExtraLayerAttribute + :param mean_var_names: [mean name, variance name] + :type mean_var_names: string list :param use_global_stats: whether use moving mean/variance statistics during testing peroid. If None or True, it will use moving mean/variance statistics during @@ -3044,6 +3047,7 @@ def batch_norm_layer(input, active_type=act.name, type=LayerType.BATCH_NORM_LAYER, batch_norm_type=batch_norm_type, + mean_var_names=mean_var_names, bias=ParamAttr.to_bias(bias_attr), moving_average_fraction=moving_average_fraction, use_global_stats=use_global_stats, From 80a8e91fb8c267ef5b2b726fb7110e4d12c96c71 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Sat, 9 Sep 2017 11:54:38 +0800 Subject: [PATCH 28/66] fix order --- python/paddle/trainer/config_parser.py | 2 +- python/paddle/trainer_config_helpers/layers.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index 9c765b32d3..2a6b6d5e2b 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -2366,9 +2366,9 @@ class BatchNormLayer(LayerBase): inputs, bias=True, use_global_stats=True, - mean_var_names=None, moving_average_fraction=0.9, batch_norm_type=None, + mean_var_names=None, **xargs): if inputs is None: inputs = [] diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index 4749f38c38..e1703c158a 100644 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -2957,10 +2957,10 @@ def batch_norm_layer(input, bias_attr=None, param_attr=None, layer_attr=None, - mean_var_names=None, batch_norm_type=None, moving_average_fraction=0.9, - use_global_stats=None): + use_global_stats=None, + mean_var_names=None): """ Batch Normalization Layer. The notation of this layer as follow. @@ -3015,8 +3015,6 @@ def batch_norm_layer(input, :type param_attr: ParameterAttribute :param layer_attr: Extra Layer Attribute. :type layer_attr: ExtraLayerAttribute - :param mean_var_names: [mean name, variance name] - :type mean_var_names: string list :param use_global_stats: whether use moving mean/variance statistics during testing peroid. If None or True, it will use moving mean/variance statistics during @@ -3029,6 +3027,8 @@ def batch_norm_layer(input, :math:`runningMean = newMean*(1-factor) + runningMean*factor` :type moving_average_fraction: float. + :param mean_var_names: [mean name, variance name] + :type mean_var_names: string list :return: LayerOutput object. :rtype: LayerOutput """ @@ -3047,10 +3047,10 @@ def batch_norm_layer(input, active_type=act.name, type=LayerType.BATCH_NORM_LAYER, batch_norm_type=batch_norm_type, - mean_var_names=mean_var_names, bias=ParamAttr.to_bias(bias_attr), moving_average_fraction=moving_average_fraction, use_global_stats=use_global_stats, + mean_var_names=mean_var_names, **ExtraLayerAttribute.to_kwargs(layer_attr)) return LayerOutput( From fa5cb7104d7a8bce56a446eb352037302f93ae70 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Sat, 9 Sep 2017 17:40:38 +0800 Subject: [PATCH 29/66] fix switchOrderLayer --- python/paddle/trainer/config_parser.py | 4 ++-- python/paddle/trainer_config_helpers/layers.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index 7e9112b43b..356e1d8b6f 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -3748,8 +3748,8 @@ class SwitchOrderLayer(LayerBase): def __init__(self, name, inputs, reshape, **xargs): super(SwitchOrderLayer, self).__init__( name, 'switch_order', 0, inputs=inputs, **xargs) - self.config.reshape_conf.heightAxis.extend(reshape['height']) - self.config.reshape_conf.widthAxis.extend(reshape['width']) + self.config.reshape_conf.height_axis.extend(reshape['height']) + self.config.reshape_conf.width_axis.extend(reshape['width']) # Deprecated, use a new layer specific class instead diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index dc68c213da..c103edf237 100644 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -6460,6 +6460,7 @@ def switch_order_layer(input, return LayerOutput( name=name, layer_type=LayerType.SWITCH_ORDER_LAYER, + activation=act, parents=input, size=l.config.size) From a5103770240ceebb5e98f2d99c97f9a6038818b9 Mon Sep 17 00:00:00 2001 From: wenshilei <wenshilei@baidu.com> Date: Sun, 10 Sep 2017 02:37:34 +0800 Subject: [PATCH 30/66] Fix ssd bugs. --- paddle/gserver/layers/DetectionOutputLayer.cpp | 1 + paddle/gserver/layers/DetectionUtil.cpp | 4 +++- paddle/gserver/layers/DetectionUtil.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/paddle/gserver/layers/DetectionOutputLayer.cpp b/paddle/gserver/layers/DetectionOutputLayer.cpp index 8ab838e191..a1036ea866 100644 --- a/paddle/gserver/layers/DetectionOutputLayer.cpp +++ b/paddle/gserver/layers/DetectionOutputLayer.cpp @@ -139,6 +139,7 @@ void DetectionOutputLayer::forward(PassType passType) { allDecodedBBoxes, &allIndices); + numKept = numKept > 0 ? numKept : 1; resetOutput(numKept, 7); MatrixPtr outV = getOutputValue(); getDetectionOutput(confBuffer_->getData(), diff --git a/paddle/gserver/layers/DetectionUtil.cpp b/paddle/gserver/layers/DetectionUtil.cpp index 3e61adc66e..92c6193035 100644 --- a/paddle/gserver/layers/DetectionUtil.cpp +++ b/paddle/gserver/layers/DetectionUtil.cpp @@ -469,7 +469,7 @@ size_t getDetectionIndices( const size_t numClasses, const size_t backgroundId, const size_t batchSize, - const size_t confThreshold, + const real confThreshold, const size_t nmsTopK, const real nmsThreshold, const size_t keepTopK, @@ -536,6 +536,8 @@ void getDetectionOutput(const real* confData, MatrixPtr outBuffer; Matrix::resizeOrCreate(outBuffer, numKept, 7, false, false); real* bufferData = outBuffer->getData(); + for (size_t i = 0; i < 7; i++) + bufferData[i] = -1; size_t count = 0; for (size_t n = 0; n < batchSize; ++n) { for (map<size_t, vector<size_t>>::const_iterator it = allIndices[n].begin(); diff --git a/paddle/gserver/layers/DetectionUtil.h b/paddle/gserver/layers/DetectionUtil.h index fe4f9f075e..641ed873b4 100644 --- a/paddle/gserver/layers/DetectionUtil.h +++ b/paddle/gserver/layers/DetectionUtil.h @@ -275,7 +275,7 @@ size_t getDetectionIndices( const size_t numClasses, const size_t backgroundId, const size_t batchSize, - const size_t confThreshold, + const real confThreshold, const size_t nmsTopK, const real nmsThreshold, const size_t keepTopK, From dade4272c7104653587ec516ce77a4ac6dee23da Mon Sep 17 00:00:00 2001 From: Yuan Gao <yuan.gao.gavin@gmail.com> Date: Sun, 10 Sep 2017 02:41:43 +0800 Subject: [PATCH 31/66] Update DetectionUtil.cpp --- paddle/gserver/layers/DetectionUtil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paddle/gserver/layers/DetectionUtil.cpp b/paddle/gserver/layers/DetectionUtil.cpp index 92c6193035..7c18295385 100644 --- a/paddle/gserver/layers/DetectionUtil.cpp +++ b/paddle/gserver/layers/DetectionUtil.cpp @@ -537,7 +537,7 @@ void getDetectionOutput(const real* confData, Matrix::resizeOrCreate(outBuffer, numKept, 7, false, false); real* bufferData = outBuffer->getData(); for (size_t i = 0; i < 7; i++) - bufferData[i] = -1; + bufferData[i] = -1; size_t count = 0; for (size_t n = 0; n < batchSize; ++n) { for (map<size_t, vector<size_t>>::const_iterator it = allIndices[n].begin(); From 4343be3309cd966026fcbd16ff60dd3474c7cf14 Mon Sep 17 00:00:00 2001 From: Yuan Gao <yuan.gao.gavin@gmail.com> Date: Sun, 10 Sep 2017 10:16:24 +0800 Subject: [PATCH 32/66] Update DetectionUtil.cpp --- paddle/gserver/layers/DetectionUtil.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/paddle/gserver/layers/DetectionUtil.cpp b/paddle/gserver/layers/DetectionUtil.cpp index 7c18295385..070bc0bce6 100644 --- a/paddle/gserver/layers/DetectionUtil.cpp +++ b/paddle/gserver/layers/DetectionUtil.cpp @@ -536,8 +536,7 @@ void getDetectionOutput(const real* confData, MatrixPtr outBuffer; Matrix::resizeOrCreate(outBuffer, numKept, 7, false, false); real* bufferData = outBuffer->getData(); - for (size_t i = 0; i < 7; i++) - bufferData[i] = -1; + for (size_t i = 0; i < 7; i++) bufferData[i] = -1; size_t count = 0; for (size_t n = 0; n < batchSize; ++n) { for (map<size_t, vector<size_t>>::const_iterator it = allIndices[n].begin(); From 5bd3fbeef8c369b2d0cb968947853314db3ffd49 Mon Sep 17 00:00:00 2001 From: wanghaoshuang <wanghaoshuang@baidu.com> Date: Mon, 11 Sep 2017 10:23:11 +0800 Subject: [PATCH 33/66] Fix switch layer attribute name --- python/paddle/trainer/config_parser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index 11dc84ae20..14a1b38079 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -3675,8 +3675,8 @@ class SwitchOrderLayer(LayerBase): def __init__(self, name, inputs, reshape, **xargs): super(SwitchOrderLayer, self).__init__( name, 'switch_order', 0, inputs=inputs, **xargs) - self.config.reshape_conf.heightAxis.extend(reshape['height']) - self.config.reshape_conf.widthAxis.extend(reshape['width']) + self.config.reshape_conf.height_axis.extend(reshape['height']) + self.config.reshape_conf.width_axis.extend(reshape['width']) # Deprecated, use a new layer specific class instead From a251956d7dddb2302b26b7342132d2bb0d33233b Mon Sep 17 00:00:00 2001 From: wanghaoshuang <wanghaoshuang@baidu.com> Date: Mon, 11 Sep 2017 10:37:27 +0800 Subject: [PATCH 34/66] Add activation to output of switch layer --- python/paddle/trainer_config_helpers/layers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index dc68c213da..c103edf237 100644 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -6460,6 +6460,7 @@ def switch_order_layer(input, return LayerOutput( name=name, layer_type=LayerType.SWITCH_ORDER_LAYER, + activation=act, parents=input, size=l.config.size) From 38e7ad799cb96ff2b7430fc0c8c7d9e57470131a Mon Sep 17 00:00:00 2001 From: gaoyuan <gaoyuan18@baidu.com> Date: Mon, 11 Sep 2017 11:19:36 +0800 Subject: [PATCH 35/66] Set detection output to NULL --- paddle/gserver/layers/DetectionOutputLayer.cpp | 9 +++++++-- paddle/gserver/layers/DetectionUtil.cpp | 1 - 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/paddle/gserver/layers/DetectionOutputLayer.cpp b/paddle/gserver/layers/DetectionOutputLayer.cpp index a1036ea866..0cf0a92bf4 100644 --- a/paddle/gserver/layers/DetectionOutputLayer.cpp +++ b/paddle/gserver/layers/DetectionOutputLayer.cpp @@ -139,8 +139,13 @@ void DetectionOutputLayer::forward(PassType passType) { allDecodedBBoxes, &allIndices); - numKept = numKept > 0 ? numKept : 1; - resetOutput(numKept, 7); + if (numKept > 0) { + resetOutput(numKept, 7); + } else { + MatrixPtr outV = getOutputValue(); + outV = NULL; + return; + } MatrixPtr outV = getOutputValue(); getDetectionOutput(confBuffer_->getData(), numKept, diff --git a/paddle/gserver/layers/DetectionUtil.cpp b/paddle/gserver/layers/DetectionUtil.cpp index 070bc0bce6..d83674f45a 100644 --- a/paddle/gserver/layers/DetectionUtil.cpp +++ b/paddle/gserver/layers/DetectionUtil.cpp @@ -536,7 +536,6 @@ void getDetectionOutput(const real* confData, MatrixPtr outBuffer; Matrix::resizeOrCreate(outBuffer, numKept, 7, false, false); real* bufferData = outBuffer->getData(); - for (size_t i = 0; i < 7; i++) bufferData[i] = -1; size_t count = 0; for (size_t n = 0; n < batchSize; ++n) { for (map<size_t, vector<size_t>>::const_iterator it = allIndices[n].begin(); From 1eb5e56f3844f5b4e2bac1be68e1f316e5eeddda Mon Sep 17 00:00:00 2001 From: gaoyuan <gaoyuan18@baidu.com> Date: Mon, 11 Sep 2017 11:56:22 +0800 Subject: [PATCH 36/66] Add comment to the PythonAPI --- python/paddle/trainer_config_helpers/layers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index dc68c213da..fb1af2d8e8 100644 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -1223,7 +1223,8 @@ def detection_output_layer(input_loc, name=None): """ Apply the NMS to the output of network and compute the predict bounding - box location. + box location. The output of this layer could be None if there is no valid + bounding box. :param name: The Layer Name. :type name: basestring From d0dbc0610fd41d10ebb5abc133b25976e53484db Mon Sep 17 00:00:00 2001 From: dangqingqing <dangqingqing@baidu.com> Date: Mon, 11 Sep 2017 12:10:01 +0800 Subject: [PATCH 37/66] Correctly use host_vector in LoDTensor and expose LoDTensor to Python. --- paddle/framework/CMakeLists.txt | 1 + paddle/framework/lod_tensor.h | 17 ++++- paddle/framework/lod_tensor_test.cu | 52 +++++++++++++++ paddle/operators/math/im2col_test.cc | 4 +- paddle/pybind/pybind.cc | 43 ++++++++++--- .../paddle/v2/framework/tests/test_tensor.py | 63 ++++++++++++++++++- 6 files changed, 164 insertions(+), 16 deletions(-) create mode 100644 paddle/framework/lod_tensor_test.cu diff --git a/paddle/framework/CMakeLists.txt b/paddle/framework/CMakeLists.txt index c0838d9b75..3371962c63 100644 --- a/paddle/framework/CMakeLists.txt +++ b/paddle/framework/CMakeLists.txt @@ -9,6 +9,7 @@ cc_test(eigen_test SRCS eigen_test.cc DEPS tensor) cc_library(lod_tensor SRCS lod_tensor.cc DEPS ddim place tensor) cc_test(lod_tensor_test SRCS lod_tensor_test.cc DEPS lod_tensor) +nv_test(lod_tensor_gpu_test SRCS lod_tensor_test.cu DEPS lod_tensor) cc_test(variable_test SRCS variable_test.cc) diff --git a/paddle/framework/lod_tensor.h b/paddle/framework/lod_tensor.h index 154068fef6..bbddd6de9d 100644 --- a/paddle/framework/lod_tensor.h +++ b/paddle/framework/lod_tensor.h @@ -18,8 +18,10 @@ #ifndef PADDLE_ONLY_CPU #include <thrust/device_vector.h> #include <thrust/host_vector.h> +#include <thrust/system/cuda/experimental/pinned_allocator.h> #endif +#include <glog/logging.h> #include "paddle/framework/ddim.h" #include "paddle/framework/tensor.h" #include "paddle/platform/enforce.h" @@ -32,7 +34,8 @@ template <typename T> using Vector = std::vector<T>; #else template <typename T> -using Vector = thrust::host_vector<T>; +using Vector = thrust::host_vector< + T, thrust::system::cuda::experimental::pinned_allocator<T>>; #endif using LoD = std::vector<Vector<size_t>>; @@ -53,7 +56,17 @@ class LoDTensor { LoDTensor() {} LoDTensor(const LoD& lod, Tensor* t) : lod_(lod), tensor_(t) {} - void set_lod(const LoD& lod) { lod_ = lod; } + void set_lod(const LoD& lod) { + lod_ = lod; + LOG(INFO) << lod_[0][0]; + } + +#ifdef PADDLE_ONLY_CPU + void set_lod(const std::vector<std::vector<size_t>>& lod) { + lod_ = lod; + LOG(INFO) << lod_[0][0]; + } +#endif void set_tensor(Tensor* tensor) { tensor_ = tensor; } diff --git a/paddle/framework/lod_tensor_test.cu b/paddle/framework/lod_tensor_test.cu new file mode 100644 index 0000000000..1079a36a2e --- /dev/null +++ b/paddle/framework/lod_tensor_test.cu @@ -0,0 +1,52 @@ +/* + Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include <cuda.h> +#include <cuda_runtime.h> +#include "paddle/framework/lod_tensor.h" +#include "paddle/platform/assert.h" + +#include <gtest/gtest.h> + +__global__ void test(size_t* a, int size) { + for (int i = blockIdx.x * blockDim.x + threadIdx.x; i < size; + i += blockDim.x * gridDim.x) { + a[i] *= 2; + } +} + +TEST(LoDTensor, LoDInGPU) { + paddle::framework::Tensor tensor; + paddle::framework::LoDTensor lod_tensor; + paddle::platform::GPUPlace place(0); + + paddle::framework::LoD src_lod; + src_lod.push_back(std::vector<size_t>{0, 2, 4, 6, 8, 10, 12, 14}); + + tensor.Resize({14, 16}); + tensor.mutable_data<float>(place); + + lod_tensor.set_lod(src_lod); + lod_tensor.set_tensor(&tensor); + CHECK_EQ(lod_tensor.lod_element(0, 2), 4); + CHECK_EQ(lod_tensor.lod_element(0, 4), 8); + + auto lod = lod_tensor.lod(); + + test<<<1, 8>>>(lod[0].data(), lod[0].size()); + cudaDeviceSynchronize(); + + for (size_t i = 0; i < src_lod[0].size(); ++i) { + CHECK_EQ(lod[0].data()[i], src_lod[0].data()[i] * 2); + } +} diff --git a/paddle/operators/math/im2col_test.cc b/paddle/operators/math/im2col_test.cc index ee5fb98acd..f905600bb3 100644 --- a/paddle/operators/math/im2col_test.cc +++ b/paddle/operators/math/im2col_test.cc @@ -71,8 +71,10 @@ void testIm2col() { context = new paddle::platform::CPUDeviceContext(paddle::platform::CPUPlace()); } else { +#ifndef PADDLE_ONLY_CPU context = new paddle::platform::CUDADeviceContext(paddle::platform::GPUPlace()); +#endif } im2col(input, output_cfo, stride, stride, padding, padding, context); im2col_ocf(input, output_ocf, stride, stride, padding, padding, context); @@ -115,4 +117,4 @@ TEST(math, im2col) { #ifndef PADDLE_ONLY_CPU testIm2col<paddle::platform::GPUPlace>(); #endif -} \ No newline at end of file +} diff --git a/paddle/pybind/pybind.cc b/paddle/pybind/pybind.cc index 30189d538b..73fb7186ae 100644 --- a/paddle/pybind/pybind.cc +++ b/paddle/pybind/pybind.cc @@ -56,7 +56,8 @@ namespace paddle { namespace framework { using Tensor = framework::Tensor; -using LODTensor = framework::LODTensor; +using LoDTensor = framework::LoDTensor; +using LoD = framework::LoD; static size_t UniqueIntegerGenerator() { static std::atomic<size_t> generator; @@ -116,23 +117,45 @@ PYBIND11_PLUGIN(core) { return self.data<float>()[offset]; }); - py::class_<LODTensor>(m, "LODTensor", R"DOC(LOD(Leval of Ddetails) Tensor. + py::class_<LoDTensor>(m, "LoDTensor", R"DOC(LoD(Leval of Ddetails) Tensor. -The tensor and LOD info should be created before creating the LODTensor, then +The tensor and LoD info should be created before creating the LoDTensor, then call the set_tensor and set_lod functions to set them. )DOC") .def("set_tensor", - [](LODTensor &self, Tensor *tensor) { self.set_tensor(tensor); }) + [](LoDTensor &self, Tensor *tensor) { self.set_tensor(tensor); }) .def("set_lod", - [](LODTensor &self, std::vector<std::vector<size_t>> &lod) { + [](LoDTensor &self, std::vector<std::vector<size_t>> &lod) { +#ifdef PADDLE_ONLY_CPU self.set_lod(lod); +#else + paddle::framework::LoD new_lod; + new_lod.reserve(lod.size()); + std::copy(lod.begin(), lod.end(), std::back_inserter(new_lod)); + self.set_lod(new_lod); +#endif }) - .def("get_tensor", - [](LODTensor &self) -> Tensor & { return self.tensor(); }, + .def("tensor", + [](LoDTensor &self) -> Tensor & { return self.tensor(); }, py::return_value_policy::reference) - .def("get_lod", [](LODTensor &self) -> std::vector<std::vector<size_t>> { + .def("lod", [](LoDTensor &self) -> std::vector<std::vector<size_t>> { +#ifdef PADDLE_ONLY_CPU return self.lod(); +#else + auto lod = self.lod(); + std::vector<std::vector<size_t>> new_lod; + new_lod.reserve(lod.size()); + std::transform(lod.begin(), lod.end(), std::back_inserter(new_lod), + [](paddle::framework::Vector<size_t> item) -> + std::vector<size_t> { + std::vector<size_t> v; + v.reserve(item.size()); + std::copy(item.begin(), item.end(), std::back_inserter(v)); + return v; + }); + return new_lod; +#endif }); py::class_<Variable>(m, "Variable", R"DOC(Variable Class. @@ -147,8 +170,8 @@ All parameter, weight, gradient are variables in Paddle. [](Variable &self) -> Tensor * { return self.GetMutable<Tensor>(); }, py::return_value_policy::reference) .def("get_lod_tensor", - [](Variable &self) -> LODTensor * { - return self.GetMutable<LODTensor>(); + [](Variable &self) -> LoDTensor * { + return self.GetMutable<LoDTensor>(); }, py::return_value_policy::reference) .def("get_net", diff --git a/python/paddle/v2/framework/tests/test_tensor.py b/python/paddle/v2/framework/tests/test_tensor.py index 1af39818a3..1bfe1370e2 100644 --- a/python/paddle/v2/framework/tests/test_tensor.py +++ b/python/paddle/v2/framework/tests/test_tensor.py @@ -3,7 +3,7 @@ import unittest import numpy -class TestScope(unittest.TestCase): +class TestTensor(unittest.TestCase): def test_int_tensor(self): scope = core.Scope() var = scope.new_var("test_tensor") @@ -20,8 +20,8 @@ class TestScope(unittest.TestCase): tensor.set(tensor_array, place) tensor_array_2 = numpy.array(tensor) - self.assertEqual(1.0, tensor_array_2[3, 9]) - self.assertEqual(2.0, tensor_array_2[19, 11]) + self.assertEqual(1, tensor_array_2[3, 9]) + self.assertEqual(2, tensor_array_2[19, 11]) def test_float_tensor(self): scope = core.Scope() @@ -43,6 +43,63 @@ class TestScope(unittest.TestCase): self.assertAlmostEqual(1.0, tensor_array_2[3, 9]) self.assertAlmostEqual(2.0, tensor_array_2[19, 11]) + def test_int_lod_tensor(self): + scope = core.Scope() + var = scope.new_var("test_tensor") + var_lod = scope.new_var("test_lod_tensor") + place = core.CPUPlace() + + tensor = var.get_tensor() + lod_tensor = var_lod.get_lod_tensor() + + tensor.set_dims([4, 4, 6]) + tensor.alloc_int(place) + array = numpy.array(tensor) + array[0, 0, 0] = 3 + array[3, 3, 5] = 10 + tensor.set(array, place) + + lod_tensor.set_tensor(tensor) + lod_tensor.set_lod([[0, 2, 4]]) + + lod_v = numpy.array(lod_tensor.tensor()) + self.assertTrue(numpy.alltrue(array == lod_v)) + + lod = lod_tensor.lod() + self.assertEqual(0, lod[0][0]) + self.assertEqual(2, lod[0][1]) + self.assertEqual(4, lod[0][2]) + + def test_float_lod_tensor(self): + scope = core.Scope() + var = scope.new_var("test_tensor") + var_lod = scope.new_var("test_lod_tensor") + place = core.CPUPlace() + + tensor = var.get_tensor() + lod_tensor = var_lod.get_lod_tensor() + + tensor.set_dims([5, 2, 3, 4]) + tensor.alloc_float(place) + + tensor_array = numpy.array(tensor) + self.assertEqual((5, 2, 3, 4), tensor_array.shape) + tensor_array[0, 0, 0, 0] = 1.0 + tensor_array[0, 0, 0, 1] = 2.0 + tensor.set(tensor_array, place) + + lod_tensor.set_tensor(tensor) + + lod_v = numpy.array(lod_tensor.tensor()) + self.assertAlmostEqual(1.0, lod_v[0, 0, 0, 0]) + self.assertAlmostEqual(2.0, lod_v[0, 0, 0, 1]) + self.assertEqual(len(lod_tensor.lod()), 0) + + lod_py = [[0, 2, 5], [0, 2, 4, 5]] + lod_tensor.set_lod(lod_py) + lod = lod_tensor.lod() + self.assertListEqual(lod_py, lod) + if __name__ == '__main__': unittest.main() From 74de8c0c763f7f42e0fb0c8a23bb7b289af4c06a Mon Sep 17 00:00:00 2001 From: Luo Tao <luotao02@baidu.com> Date: Mon, 11 Sep 2017 11:42:08 +0800 Subject: [PATCH 38/66] make docker can configure with_mkldnn and with_mklml --- paddle/scripts/docker/build.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/paddle/scripts/docker/build.sh b/paddle/scripts/docker/build.sh index e57f793ac4..2ac455d771 100644 --- a/paddle/scripts/docker/build.sh +++ b/paddle/scripts/docker/build.sh @@ -30,6 +30,8 @@ Configuring cmake in /paddle/build ... -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF -DWITH_GPU=${WITH_GPU:-OFF} + -DWITH_MKLDNN=${WITH_MKLDNN:-ON} + -DWITH_MKLML=${WITH_MKLML:-ON} -DWITH_AVX=${WITH_AVX:-OFF} -DWITH_GOLANG=${WITH_GOLANG:-ON} -DWITH_SWIG_PY=ON @@ -50,6 +52,8 @@ cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_DOC=OFF \ -DWITH_GPU=${WITH_GPU:-OFF} \ + -DWITH_MKLDNN=${WITH_MKLDNN:-ON} \ + -DWITH_MKLML=${WITH_MKLML:-ON} \ -DWITH_AVX=${WITH_AVX:-OFF} \ -DWITH_GOLANG=${WITH_GOLANG:-ON} \ -DWITH_SWIG_PY=${WITH_SWIG_PY:-ON} \ From dad5421afebbe025898ffe45eceb4e2669827ae8 Mon Sep 17 00:00:00 2001 From: Yu Yang <yuyang18@baidu.com> Date: Sun, 10 Sep 2017 21:25:40 -0700 Subject: [PATCH 39/66] Remove enforce demangle It is buggy in some Linux because the unique_ptr will be free however the std::string trying to use that char*. Moreover, it is no need to demangle for error log by Paddle. Just use `c++filt` or other shell utilities to do this. --- paddle/platform/enforce.h | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/paddle/platform/enforce.h b/paddle/platform/enforce.h index 81448897e9..64fcbd93b6 100644 --- a/paddle/platform/enforce.h +++ b/paddle/platform/enforce.h @@ -25,10 +25,6 @@ limitations under the License. */ #include "paddle/string/printf.h" #include "paddle/string/to_string.h" -#ifdef __GNUC__ -#include <cxxabi.h> // for __cxa_demangle -#endif - #ifndef PADDLE_ONLY_CPU #include "paddle/platform/dynload/cublas.h" @@ -46,19 +42,6 @@ limitations under the License. */ namespace paddle { namespace platform { -namespace { -#ifdef __GNUC__ -inline std::string demangle(std::string name) { - int status = -4; // some arbitrary value to eliminate the compiler warning - std::unique_ptr<char, void (*)(void*)> res{ - abi::__cxa_demangle(name.c_str(), NULL, NULL, &status), std::free}; - return (status == 0) ? res.get() : name; -} -#else -inline std::string demangle(std::string name) { return name; } -#endif -} - struct EnforceNotMet : public std::exception { std::exception_ptr exp_; std::string err_str_; @@ -79,7 +62,7 @@ struct EnforceNotMet : public std::exception { Dl_info info; for (int i = 0; i < size; ++i) { if (dladdr(call_stack[i], &info)) { - auto demangled = demangle(info.dli_sname); + auto demangled = info.dli_sname; auto addr_offset = static_cast<char*>(call_stack[i]) - static_cast<char*>(info.dli_saddr); sout << string::Sprintf("%-3d %*0p %s + %zd\n", i, From e75aab3a392a7dd692c0aafa36e12fbf864f1134 Mon Sep 17 00:00:00 2001 From: dangqingqing <dangqingqing@baidu.com> Date: Mon, 11 Sep 2017 12:57:00 +0800 Subject: [PATCH 40/66] Remove redundant code in lod_tensor.h --- paddle/framework/lod_tensor.h | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/paddle/framework/lod_tensor.h b/paddle/framework/lod_tensor.h index bbddd6de9d..568f4e8981 100644 --- a/paddle/framework/lod_tensor.h +++ b/paddle/framework/lod_tensor.h @@ -56,17 +56,7 @@ class LoDTensor { LoDTensor() {} LoDTensor(const LoD& lod, Tensor* t) : lod_(lod), tensor_(t) {} - void set_lod(const LoD& lod) { - lod_ = lod; - LOG(INFO) << lod_[0][0]; - } - -#ifdef PADDLE_ONLY_CPU - void set_lod(const std::vector<std::vector<size_t>>& lod) { - lod_ = lod; - LOG(INFO) << lod_[0][0]; - } -#endif + void set_lod(const LoD& lod) { lod_ = lod; } void set_tensor(Tensor* tensor) { tensor_ = tensor; } From d34516fb662c2fe9727989dd2885de0b9ad9cf8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E6=AF=85?= <typhoonzero1986@gmail.com> Date: Mon, 11 Sep 2017 13:00:44 +0800 Subject: [PATCH 41/66] Get output when training (#3978) * get output when training * follow comments --- python/paddle/v2/event.py | 10 ++++++++-- python/paddle/v2/trainer.py | 9 +++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/python/paddle/v2/event.py b/python/paddle/v2/event.py index 7589cc9917..e66bf67d79 100644 --- a/python/paddle/v2/event.py +++ b/python/paddle/v2/event.py @@ -53,10 +53,13 @@ class BeginPass(object): class EndPass(WithMetric): """ Event On One Pass Training Complete. + To get the output of a specific layer, add "event.gm.getLayerOutputs('predict_layer')" + in your event_handler call back """ - def __init__(self, pass_id, evaluator): + def __init__(self, pass_id, evaluator, gm): self.pass_id = pass_id + self.gm = gm WithMetric.__init__(self, evaluator) @@ -73,10 +76,13 @@ class BeginIteration(object): class EndIteration(WithMetric): """ Event On One Batch Training Complete. + To get the output of a specific layer, add "event.gm.getLayerOutputs('predict_layer')" + in your event_handler call back """ - def __init__(self, pass_id, batch_id, cost, evaluator): + def __init__(self, pass_id, batch_id, cost, evaluator, gm): self.pass_id = pass_id self.batch_id = batch_id self.cost = cost + self.gm = gm WithMetric.__init__(self, evaluator) diff --git a/python/paddle/v2/trainer.py b/python/paddle/v2/trainer.py index 0654a30104..ca95ef13bd 100644 --- a/python/paddle/v2/trainer.py +++ b/python/paddle/v2/trainer.py @@ -174,13 +174,18 @@ class SGD(object): pass_id=pass_id, batch_id=batch_id, cost=cost, - evaluator=batch_evaluator)) + evaluator=batch_evaluator, + gm=self.__gradient_machine__)) self.__parameter_updater__.finishBatch(cost) batch_evaluator.finish() self.__parameter_updater__.finishPass() pass_evaluator.finish() - event_handler(v2_event.EndPass(pass_id, evaluator=pass_evaluator)) + event_handler( + v2_event.EndPass( + pass_id, + evaluator=pass_evaluator, + gm=self.__gradient_machine__)) self.__gradient_machine__.finish() def test(self, reader, feeding=None): From d74fe780402747baf6bd5564b8584bf06e9fb099 Mon Sep 17 00:00:00 2001 From: tensor-tang <jian.j.tang@intel.com> Date: Mon, 11 Sep 2017 13:56:07 +0800 Subject: [PATCH 42/66] refine MKLDNNMatrix, solid data handle, rename updateData to setData --- paddle/gserver/layers/MKLDNNLayer.h | 4 ++-- paddle/math/MKLDNNMatrix.cpp | 10 ++++----- paddle/math/MKLDNNMatrix.h | 35 +++++++++++++++++++++++------ 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/paddle/gserver/layers/MKLDNNLayer.h b/paddle/gserver/layers/MKLDNNLayer.h index b983b833d5..ed1ad7c0bd 100644 --- a/paddle/gserver/layers/MKLDNNLayer.h +++ b/paddle/gserver/layers/MKLDNNLayer.h @@ -203,7 +203,7 @@ protected: real* iData = getInputValue(0, CPU_DEVICE)->getData(); // update input data // since it might be changed if this is after data layer - inVal_->updateData(iData); + inVal_->setData(iData); } /** @@ -216,7 +216,7 @@ protected: // update diff real* oDiff = getOutput(CPU_DEVICE).grad->getData(); - outGrad_->updateData(oDiff); + outGrad_->setData(oDiff); } /** diff --git a/paddle/math/MKLDNNMatrix.cpp b/paddle/math/MKLDNNMatrix.cpp index 0a355e2644..c4063e5069 100644 --- a/paddle/math/MKLDNNMatrix.cpp +++ b/paddle/math/MKLDNNMatrix.cpp @@ -33,14 +33,12 @@ MKLDNNMatrixPtr MKLDNNMatrix::create(MatrixPtr m, memory::primitive_desc pd) { size_t width = cnts / dims[0]; m = Matrix::create(height, width, false, false); } - CHECK(m) << " Matrix should not be empty"; + CpuMatrixPtr cpuMatrix = std::dynamic_pointer_cast<CpuMatrix>(m); CHECK(cpuMatrix) << "Only support create from CPU matrix yet"; - - CHECK_EQ(cnts, m->getElementCnt()) << "Count size does not match"; - return std::make_shared<MKLDNNMatrix>( - m->getData(), m->getHeight(), m->getWidth(), pd); + CHECK_EQ(cpuMatrix->getElementCnt(), cnts) << "Count size does not match"; + return std::make_shared<MKLDNNMatrix>(cpuMatrix, pd); } MKLDNNMatrixPtr MKLDNNMatrix::create(MatrixPtr m, @@ -138,7 +136,7 @@ void MKLDNNMatrix::downSpatial() { mkldnn_primitive_create(&result, pd.get(), nullptr, nullptr), "could not create a memory primitive"); reset(result); - set_data_handle(getData()); + set_data_handle(data_); } } // namespace paddle diff --git a/paddle/math/MKLDNNMatrix.h b/paddle/math/MKLDNNMatrix.h index e50f698b49..eef3b429e6 100644 --- a/paddle/math/MKLDNNMatrix.h +++ b/paddle/math/MKLDNNMatrix.h @@ -30,11 +30,10 @@ typedef std::shared_ptr<MKLDNNMatrix> MKLDNNMatrixPtr; */ class MKLDNNMatrix : public CpuMatrix, public mkldnn::memory { public: - MKLDNNMatrix(real* data, - size_t height, - size_t width, - mkldnn::memory::primitive_desc pd) - : CpuMatrix(data, height, width, false), mkldnn::memory(pd, data) {} + MKLDNNMatrix(CpuMatrixPtr m, mkldnn::memory::primitive_desc pd) + : CpuMatrix(m->getData(), m->getHeight(), m->getWidth(), false), + mkldnn::memory(pd, m->getData()), + m_(m) {} ~MKLDNNMatrix() {} @@ -81,11 +80,29 @@ public: void downSpatial(); /** - * Update the memory data handle. + * set the memory data handle. * Caution: This will not check the buffer size of the data, * it should be coverd by user. */ - void updateData(void* data) { set_data_handle(data); } + void setData(real* data) { + set_data_handle(data); + CpuMatrix::setData(data); + m_.reset(); + } + + /** + * override Matrix::getData + * check data before return + */ + real* getData() override { + CHECK_EQ((void*)data_, get_data_handle()); + return data_; + } + + const real* getData() const override { + CHECK_EQ((void*)data_, get_data_handle()); + return data_; + } /** * Get primitive descriptor. @@ -143,6 +160,10 @@ protected: memory::format srcFmt, memory::format dstFmt, memory::dims dm); + +private: + // save the CpuMatrixPtr in case the buffer released outside + CpuMatrixPtr m_; }; } // namespace paddle From d4c0734840420314298e4a330ddd4f10d957e8e7 Mon Sep 17 00:00:00 2001 From: tensor-tang <jian.j.tang@intel.com> Date: Mon, 11 Sep 2017 14:08:13 +0800 Subject: [PATCH 43/66] remove convertOutputToOtherDevice --- paddle/gserver/layers/MKLDNNFcLayer.cpp | 23 ++++------------------- paddle/gserver/layers/MKLDNNFcLayer.h | 2 -- paddle/gserver/layers/MKLDNNLayer.h | 13 +++++++------ 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/paddle/gserver/layers/MKLDNNFcLayer.cpp b/paddle/gserver/layers/MKLDNNFcLayer.cpp index 8318c8c519..f4deb351f2 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.cpp +++ b/paddle/gserver/layers/MKLDNNFcLayer.cpp @@ -77,24 +77,6 @@ void MKLDNNFcLayer::convertWeightsToPaddle() { wgtVal_->reorderDataTo(wgtVal_, dstFmt, targetDim); } -void MKLDNNFcLayer::convertOutputToOtherDevice() { - copyOutputInfoToOtherDevice(); - // find other cpu device and reorder output to cpu device - int cnt = 0; - for (size_t i = 0; i < outputOtherDevice_.size(); i++) { - if (outputOtherDevice_[i].deviceId == CPU_DEVICE) { - // fc cpu output value do not need convert - // just share point - outputOtherDevice_[i].value = output_.value; - ++cnt; - } - } - - if (cnt > 1) { - LOG(WARNING) << "should not have more than one CPU devie"; - } -} - void MKLDNNFcLayer::reshape() { const Argument& input = getInput(0, getPrev(0)->getDeviceId()); int batchSize = input.getBatchSize(); @@ -155,7 +137,10 @@ void MKLDNNFcLayer::resetFwd() { // change original output value to mkldnn output value output_.value = std::dynamic_pointer_cast<Matrix>(outVal_); if (!outputIsOnlyMKLDNN()) { - convertOutputToOtherDevice(); + copyOutputInfoToOtherDevice(); + // fc cpu output value do not need create convert + // just share point + getOutput(CPU_DEVICE).value->setData(output_.value->getData()); } // create forward handle diff --git a/paddle/gserver/layers/MKLDNNFcLayer.h b/paddle/gserver/layers/MKLDNNFcLayer.h index e138a6faf1..e2657a8d5e 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.h +++ b/paddle/gserver/layers/MKLDNNFcLayer.h @@ -72,8 +72,6 @@ protected: * only would be called when needed */ void resetBwd(); - - void convertOutputToOtherDevice() override; }; } // namespace paddle diff --git a/paddle/gserver/layers/MKLDNNLayer.h b/paddle/gserver/layers/MKLDNNLayer.h index ed1ad7c0bd..1a3e949fb9 100644 --- a/paddle/gserver/layers/MKLDNNLayer.h +++ b/paddle/gserver/layers/MKLDNNLayer.h @@ -113,12 +113,6 @@ public: */ virtual void convertWeightsToPaddle() {} - /** - * convert MKLDNN output to other device. - * only support CPU device yet - */ - virtual void convertOutputToOtherDevice() {} - /** * print info about sizes */ @@ -155,6 +149,7 @@ protected: * copy base info and do not copy data value */ void copyOutputInfoToOtherDevice() { + int cnt = 0; for (size_t i = 0; i < outputOtherDevice_.size(); i++) { outputOtherDevice_[i].setFrameHeight(output_.getFrameHeight()); outputOtherDevice_[i].setFrameWidth(output_.getFrameWidth()); @@ -163,6 +158,12 @@ protected: outputOtherDevice_[i].subSequenceStartPositions = output_.subSequenceStartPositions; outputOtherDevice_[i].cpuSequenceDims = output_.cpuSequenceDims; + if (outputOtherDevice_[i].deviceId == CPU_DEVICE) { + ++cnt; + } + } + if (cnt > 1) { + LOG(WARNING) << "should not have more than one CPU devie"; } } From f40d5f580de3731e071bb9cca3c98a6537955e25 Mon Sep 17 00:00:00 2001 From: tensor-tang <jian.j.tang@intel.com> Date: Mon, 11 Sep 2017 14:19:10 +0800 Subject: [PATCH 44/66] remove syncOutputGrad, rename syncInputValue to updateInputData --- paddle/gserver/layers/MKLDNNFcLayer.cpp | 18 +++++++++----- paddle/gserver/layers/MKLDNNFcLayer.h | 2 ++ paddle/gserver/layers/MKLDNNLayer.h | 32 +++++-------------------- 3 files changed, 20 insertions(+), 32 deletions(-) diff --git a/paddle/gserver/layers/MKLDNNFcLayer.cpp b/paddle/gserver/layers/MKLDNNFcLayer.cpp index f4deb351f2..53433cef35 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.cpp +++ b/paddle/gserver/layers/MKLDNNFcLayer.cpp @@ -220,13 +220,12 @@ void MKLDNNFcLayer::resetBwd() { pipelineBwd_.push_back(*bwdWgt_); /// backward data - device = inputIsOnlyMKLDNN() ? MKLDNN_DEVICE : CPU_DEVICE; - const MatrixPtr& in = getInputGrad(0, device); + const MatrixPtr& in = inputLayers_[0]->getOutput().grad; if (in == nullptr) { return; } - if (getInput(0, device).getAllCount() > 1) { - // TODO(TJ): use outputMaps_ ways when merge outgrad done + if (getInput(0, MKLDNN_DEVICE).getAllCount() > 1) { + // TODO(TJ): use outputMaps_ ways to get the inGrad_ when merge outgrad done } else { inGrad_ = MKLDNNMatrix::create(in, inVal_->getPrimitiveDesc()); } @@ -243,13 +242,21 @@ void MKLDNNFcLayer::resetBwd() { pipelineBwd_.push_back(*bwdData_); } +void MKLDNNFcLayer::updateInputData() { + if (inputLayers_[0]->getType() != "data") { + return; + } + real* iData = getInputValue(0, CPU_DEVICE)->getData(); + inVal_->setData(iData); +} + void MKLDNNFcLayer::forward(PassType passType) { Layer::forward(passType); reshape(); { REGISTER_TIMER_INFO("mkldnn_FwdTimer", getName().c_str()); - syncInputValue(); + updateInputData(); // just submit forward pipeline stream_->submit(pipelineFwd_); @@ -271,7 +278,6 @@ void MKLDNNFcLayer::backward(const UpdateCallback& callback) { REGISTER_TIMER_INFO("mkldnn_bwdTimer", getName().c_str()); resetBwd(); - syncOutputGrad(); // just sumbmit backward pipeline stream_->submit(pipelineBwd_); } diff --git a/paddle/gserver/layers/MKLDNNFcLayer.h b/paddle/gserver/layers/MKLDNNFcLayer.h index e2657a8d5e..4ad67a16e0 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.h +++ b/paddle/gserver/layers/MKLDNNFcLayer.h @@ -53,6 +53,8 @@ public: void backward(const UpdateCallback& callback) override; + void updateInputData() override; + protected: /** * reshape the input image sizes diff --git a/paddle/gserver/layers/MKLDNNLayer.h b/paddle/gserver/layers/MKLDNNLayer.h index 1a3e949fb9..543364edce 100644 --- a/paddle/gserver/layers/MKLDNNLayer.h +++ b/paddle/gserver/layers/MKLDNNLayer.h @@ -113,6 +113,12 @@ public: */ virtual void convertWeightsToPaddle() {} + /** + * Update input value data when input layer is "data" type. + * Since the input value data address might be changed. + */ + virtual void updateInputData() {} + /** * print info about sizes */ @@ -194,32 +200,6 @@ protected: return outputOtherDevice_.size() == 0; } - /** - * Sync input value data - */ - void syncInputValue() { - if (inputIsOnlyMKLDNN()) { - return; - } - real* iData = getInputValue(0, CPU_DEVICE)->getData(); - // update input data - // since it might be changed if this is after data layer - inVal_->setData(iData); - } - - /** - * Sync output grad data - */ - void syncOutputGrad() { - if (outputIsOnlyMKLDNN()) { - return; - } - - // update diff - real* oDiff = getOutput(CPU_DEVICE).grad->getData(); - outGrad_->setData(oDiff); - } - /** * Set deviceId of this layer. */ From dd64349a9213b419c6a50c81e06e2d6a8fa9ebd5 Mon Sep 17 00:00:00 2001 From: Yibing Liu <liuyibing01@baidu.com> Date: Mon, 11 Sep 2017 00:06:06 -0700 Subject: [PATCH 45/66] refine reshape operator --- paddle/operators/reshape_op.cc | 15 +++++++++------ paddle/operators/reshape_op.h | 10 ++++------ .../paddle/v2/framework/tests/test_reshape_op.py | 16 ++++++++++++++-- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/paddle/operators/reshape_op.cc b/paddle/operators/reshape_op.cc index d75ec76632..37cbecbf25 100644 --- a/paddle/operators/reshape_op.cc +++ b/paddle/operators/reshape_op.cc @@ -29,14 +29,17 @@ class ReshapeOp : public framework::OperatorWithKernel { void InferShape(const framework::InferShapeContext &ctx) const override { auto *in = ctx.Input<framework::Tensor>("X"); auto shape = ctx.Attr<std::vector<int>>("shape"); - PADDLE_ENFORCE_EQ((unsigned)shape.size(), in->dims().size(), - "The dimension of Input(X) mismatches with Attr(shape)."); - size_t shape_size = 1; + int64_t capacity = -1; for (auto dim : shape) { - shape_size *= dim; + PADDLE_ENFORCE(dim > 0, "Each dimension of shape must be positive."); + if (capacity < 0) { + capacity = dim; + } else { + capacity *= dim; + } } - size_t in_size = framework::product(in->dims()); - PADDLE_ENFORCE_EQ(shape_size, in_size, + int64_t in_size = framework::product(in->dims()); + PADDLE_ENFORCE_EQ(capacity, in_size, "The size of Input(X) mismatches with Attr(shape)."); ctx.Output<framework::Tensor>("Out")->Resize(in->dims()); } diff --git a/paddle/operators/reshape_op.h b/paddle/operators/reshape_op.h index 61d502c836..0e920329d9 100644 --- a/paddle/operators/reshape_op.h +++ b/paddle/operators/reshape_op.h @@ -21,14 +21,12 @@ namespace paddle { namespace operators { -using Tensor = framework::Tensor; - template <typename Place, typename T> class ReshapeKernel : public framework::OpKernel { public: void Compute(const framework::ExecutionContext& ctx) const { - auto* out = ctx.Output<Tensor>("Out"); - auto* in = ctx.Input<Tensor>("X"); + auto* out = ctx.Output<framework::Tensor>("Out"); + auto* in = ctx.Input<framework::Tensor>("X"); out->mutable_data<T>(ctx.GetPlace()); auto shape = ctx.Attr<std::vector<int>>("shape"); @@ -46,8 +44,8 @@ template <typename Place, typename T> class ReshapeGradKernel : public framework::OpKernel { public: void Compute(const framework::ExecutionContext& ctx) const { - auto* d_out = ctx.Input<Tensor>(framework::GradVarName("Out")); - auto* d_x = ctx.Output<Tensor>(framework::GradVarName("X")); + auto* d_out = ctx.Input<framework::Tensor>(framework::GradVarName("Out")); + auto* d_x = ctx.Output<framework::Tensor>(framework::GradVarName("X")); d_x->mutable_data<T>(ctx.GetPlace()); auto in_dims = d_x->dims(); diff --git a/python/paddle/v2/framework/tests/test_reshape_op.py b/python/paddle/v2/framework/tests/test_reshape_op.py index 4797019435..df7d913ba4 100644 --- a/python/paddle/v2/framework/tests/test_reshape_op.py +++ b/python/paddle/v2/framework/tests/test_reshape_op.py @@ -10,15 +10,27 @@ class TestReshapeOp(unittest.TestCase): def setUp(self): self.type = "reshape" self.inputs = {'X': np.random.random((37, 51)).astype("float32"), } - self.attrs = {'shape': [51, 37]} + self.attrs = {'shape': [51 * 37]} self.outputs = {'Out': self.inputs['X'].reshape(self.attrs['shape'])} -class ReshapeGradOpTest(GradientChecker): +class TestReshapeGradOp(GradientChecker): + """ def test_normal(self): op = Operator("reshape", X='X', Out='Out', shape=[5, 40]) inputs = {"X": np.random.random((10, 20)).astype("float32")} self.check_grad(op, inputs, set("X"), "Out") + """ + + def setUp(self): + self.op = Operator("reshape", X='X', Out='Out', shape=[5, 40]) + self.inputs = {"X": np.random.random((10, 20)).astype("float32")} + + def test_normal(self): + self.check_grad(self.op, self.inputs, ["X"], "Out") + + def test_dev_compare(self): + self.compare_grad(self.op, self.inputs) if __name__ == '__main__': From 7bd517129ae50850979c7a7c6cc8fce22e2131a8 Mon Sep 17 00:00:00 2001 From: Yancey <yancey1989@gmail.com> Date: Mon, 11 Sep 2017 15:21:14 +0800 Subject: [PATCH 46/66] Add Concat operator with CPU kernel (#3775) add concat op with CPU kernel --- paddle/operators/concat_op.cc | 79 +++++++++++++++++++ paddle/operators/concat_op.cu | 19 +++++ paddle/operators/concat_op.h | 64 +++++++++++++++ paddle/pybind/pybind.cc | 1 + python/paddle/v2/framework/op.py | 1 - .../paddle/v2/framework/tests/CMakeLists.txt | 1 + .../v2/framework/tests/gradient_checker.py | 5 +- .../paddle/v2/framework/tests/op_test_util.py | 32 +++++--- .../v2/framework/tests/test_concat_op.py | 22 ++++++ 9 files changed, 211 insertions(+), 13 deletions(-) create mode 100644 paddle/operators/concat_op.cc create mode 100644 paddle/operators/concat_op.cu create mode 100644 paddle/operators/concat_op.h create mode 100644 python/paddle/v2/framework/tests/test_concat_op.py diff --git a/paddle/operators/concat_op.cc b/paddle/operators/concat_op.cc new file mode 100644 index 0000000000..0ebefbab26 --- /dev/null +++ b/paddle/operators/concat_op.cc @@ -0,0 +1,79 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#include "paddle/operators/concat_op.h" +#include <vector> + +namespace paddle { +namespace operators { +using framework::Tensor; + +class ConcatOp : public framework::OperatorWithKernel { + public: + using framework::OperatorWithKernel::OperatorWithKernel; + + protected: + void InferShape(const framework::InferShapeContext &ctx) const override { + auto ins = ctx.MultiInput<framework::Tensor>("X"); + auto *out = ctx.Output<framework::Tensor>("Out"); + size_t axis = static_cast<size_t>(ctx.Attr<int>("axis")); + size_t n = ins.size(); + + PADDLE_ENFORCE_GT(n, 1, "Input tensors count should > 1."); + + auto out_dims = ins[0]->dims(); + size_t in_zero_dims_size = out_dims.size(); + for (size_t i = 1; i < n; i++) { + for (size_t j = 0; j < in_zero_dims_size; j++) { + if (j == axis) { + out_dims[axis] += ins[i]->dims()[j]; + continue; + } + PADDLE_ENFORCE_EQ(out_dims[j], ins[i]->dims()[j], + "Input tensors should have the same " + "elements except the specify axis.") + } + } + out->Resize(out_dims); + } +}; + +class ConcatOpMaker : public framework::OpProtoAndCheckerMaker { + public: + ConcatOpMaker(framework::OpProto *proto, framework::OpAttrChecker *op_checker) + : OpProtoAndCheckerMaker(proto, op_checker) { + AddInput("X", "the input tensors of concat operator.").AsDuplicable(); + AddOutput("Out", "the output tensor of concat operator."); + AddComment(R"DOC( + Join the input tensors along with the axis. + Examples: + Input[0] = [[1,2],[3,4]] + Input[1] = [[5,6]] + axis = 0 + Output = [[1,2], + [3,4], + [5,6]] + )DOC"); + AddAttr<int>("axis", "The axis which the inputs will be joined with.") + .SetDefault(0); + } +}; + +} // namespace operators +} // namespace paddle + +namespace ops = paddle::operators; +REGISTER_OP_WITHOUT_GRADIENT(concat, ops::ConcatOp, ops::ConcatOpMaker) +REGISTER_OP_CPU_KERNEL(concat, + ops::ConcatKernel<paddle::platform::CPUPlace, float>) diff --git a/paddle/operators/concat_op.cu b/paddle/operators/concat_op.cu new file mode 100644 index 0000000000..38fee7473d --- /dev/null +++ b/paddle/operators/concat_op.cu @@ -0,0 +1,19 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#define EIGEN_USE_GPU +#include "paddle/operators/concat_op.h" + +namespace ops = paddle::operators; +// TODO(Yancey1989) Add GPU kernel diff --git a/paddle/operators/concat_op.h b/paddle/operators/concat_op.h new file mode 100644 index 0000000000..f977054fdf --- /dev/null +++ b/paddle/operators/concat_op.h @@ -0,0 +1,64 @@ +/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#pragma once + +#include <vector> +#include "paddle/framework/op_registry.h" + +namespace paddle { +namespace operators { + +template <typename Place, typename T> +class ConcatKernel : public framework::OpKernel { + public: + void Compute(const framework::ExecutionContext& ctx) const override { + auto ins = ctx.MultiInput<framework::Tensor>("X"); + auto* out = ctx.Output<framework::Tensor>("Out"); + int64_t axis = static_cast<int64_t>(ctx.Attr<int>("axis")); + size_t n = ins.size(); + size_t output_axis_dim = 0; + size_t before = 1, after = 1; + for (size_t i = 0; i < n; i++) { + output_axis_dim += ins[i]->dims()[axis]; + } + auto& input_zero = ins[0]; + for (int64_t i = 0; i < input_zero->dims().size(); i++) { + if (i == axis) { + continue; + } + if (i < axis) { + before *= input_zero->dims()[i]; + } else { + after *= input_zero->dims()[i]; + } + } + size_t output_offset = 0; + for (size_t i = 0; i < n; i++) { + auto& in = ins[i]; + auto axis_dim = in->dims()[axis]; + for (size_t j = 0; j < before; j++) { + size_t len = axis_dim * after * sizeof(T); + const T* src = in->data<T>() + axis_dim * after * j; + T* out_data = out->mutable_data<T>(platform::CPUPlace()); + T* dest = out_data + output_offset + output_axis_dim * after * j; + memcpy(dest, src, len); + } + output_offset += axis_dim * after; + } + } +}; + +} // namespace operators +} // namespace paddle diff --git a/paddle/pybind/pybind.cc b/paddle/pybind/pybind.cc index db701a2a30..227b75aff8 100644 --- a/paddle/pybind/pybind.cc +++ b/paddle/pybind/pybind.cc @@ -49,6 +49,7 @@ USE_OP(minus); USE_OP(cos_sim); USE_CPU_ONLY_OP(gather); USE_CPU_ONLY_OP(scatter); +USE_CPU_ONLY_OP(concat); USE_OP(top_k); USE_OP(squared_l2_distance); USE_OP(sum); diff --git a/python/paddle/v2/framework/op.py b/python/paddle/v2/framework/op.py index 4e91924a50..9e665adad2 100644 --- a/python/paddle/v2/framework/op.py +++ b/python/paddle/v2/framework/op.py @@ -43,7 +43,6 @@ class OpDescCreationMethod(object): if len(args) != 0: raise ValueError("Only keyword arguments are supported.") op_desc = framework_pb2.OpDesc() - for input_parameter in self.__op_proto__.inputs: input_arguments = kwargs.get(input_parameter.name, []) if is_str(input_arguments): diff --git a/python/paddle/v2/framework/tests/CMakeLists.txt b/python/paddle/v2/framework/tests/CMakeLists.txt index 2117fdf0d5..2f6be105b6 100644 --- a/python/paddle/v2/framework/tests/CMakeLists.txt +++ b/python/paddle/v2/framework/tests/CMakeLists.txt @@ -35,4 +35,5 @@ py_test(test_lookup_table SRCS test_lookup_table.py) py_test(test_scale_and_identity_op SRCS test_scale_and_identity_op.py) py_test(test_sum_op SRCS test_sum_op.py) py_test(mnist SRCS mnist.py) +py_test(test_concat_op SRCS test_concat_op.py) py_test(test_squared_l2_distance_op SRCS test_squared_l2_distance_op.py) diff --git a/python/paddle/v2/framework/tests/gradient_checker.py b/python/paddle/v2/framework/tests/gradient_checker.py index fdb06b7988..51a98284bd 100644 --- a/python/paddle/v2/framework/tests/gradient_checker.py +++ b/python/paddle/v2/framework/tests/gradient_checker.py @@ -11,11 +11,10 @@ __all__ = ['get_numeric_gradient'] def create_op(op_type): # TODO need to set attrs kwargs = dict() - for in_name in Operator.get_op_input_names(op_type): + for in_name, _ in Operator.get_op_input_names(op_type): kwargs[in_name] = in_name - for out_name in Operator.get_op_output_names(op_type): + for out_name, _ in Operator.get_op_output_names(op_type): kwargs[out_name] = out_name - return Operator(op_type, **kwargs) diff --git a/python/paddle/v2/framework/tests/op_test_util.py b/python/paddle/v2/framework/tests/op_test_util.py index 370f27eaf6..54fe5da440 100644 --- a/python/paddle/v2/framework/tests/op_test_util.py +++ b/python/paddle/v2/framework/tests/op_test_util.py @@ -27,17 +27,30 @@ class OpTestMeta(type): places.append(core.GPUPlace(0)) for place in places: - for in_name in Operator.get_op_input_names(self.type): - if hasattr(self, "inputs") and in_name in self.inputs: - kwargs[in_name] = in_name - var = scope.new_var(in_name).get_tensor() - arr = self.inputs[in_name] - var.set_dims(arr.shape) - var.set(arr, place) + for ins in Operator.get_op_input_names(self.type): + in_name = ins[0] + in_dup = ins[1] + if hasattr(self, 'inputs') and in_name in self.inputs: + kwargs[in_name] = [] + if in_dup: + arrays = self.inputs[in_name] + for index, arr in enumerate(arrays): + var = scope.new_var(in_name + str(index)) + tensor = var.get_tensor() + tensor.set_dims(arr.shape) + tensor.set(arr, place) + kwargs[in_name].append(in_name + str(index)) + else: + kwargs[in_name] = in_name + var = scope.new_var(in_name).get_tensor() + arr = self.inputs[in_name] + var.set_dims(arr.shape) + var.set(arr, place) else: kwargs[in_name] = "@EMPTY@" - for out_name in Operator.get_op_output_names(self.type): + for out_name, out_dup in Operator.get_op_output_names( + self.type): if not hasattr(self, "outputs"): raise ValueError( "The test op must set self.outputs dict.") @@ -60,7 +73,8 @@ class OpTestMeta(type): ctx = core.DeviceContext.create(place) op.run(scope, ctx) - for out_name in Operator.get_op_output_names(self.type): + for out_name, out_dup in Operator.get_op_output_names( + self.type): actual = numpy.array(scope.find_var(out_name).get_tensor()) expect = self.outputs[out_name] self.assertTrue( diff --git a/python/paddle/v2/framework/tests/test_concat_op.py b/python/paddle/v2/framework/tests/test_concat_op.py new file mode 100644 index 0000000000..6bd4c30974 --- /dev/null +++ b/python/paddle/v2/framework/tests/test_concat_op.py @@ -0,0 +1,22 @@ +import unittest +import numpy as np +from gradient_checker import GradientChecker, create_op +from op_test_util import OpTestMeta + + +class TestConcatOp(unittest.TestCase): + __metaclass__ = OpTestMeta + + def setUp(self): + self.type = "concat" + x0 = np.random.random((2, 3, 2, 5)).astype('float32') + x1 = np.random.random((2, 3, 3, 5)).astype('float32') + x2 = np.random.random((2, 3, 4, 5)).astype('float32') + axis = 2 + self.inputs = {'X': [x0, x1, x2]} + self.attrs = {'axis': axis} + self.outputs = {'Out': np.concatenate((x0, x1, x2), axis=axis)} + + +if __name__ == '__main__': + unittest.main() From 2d807f2b4c586656b760e31030a08655f7d298b1 Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Mon, 11 Sep 2017 15:31:33 +0800 Subject: [PATCH 47/66] init refine op python tests --- .../paddle/v2/framework/tests/CMakeLists.txt | 2 - python/paddle/v2/framework/tests/op_test.py | 28 ++++-- .../v2/framework/tests/test_add_two_op.py | 23 ++--- .../v2/framework/tests/test_cos_sim_op.py | 49 +++------- .../framework/tests/test_cross_entropy_op.py | 2 +- .../tests/test_fill_zeros_like_op.py | 19 ++-- .../v2/framework/tests/test_gather_op.py | 32 +++--- .../tests/test_gaussian_random_op.py | 8 +- .../framework/tests/test_gradient_checker.py | 42 ++++---- .../v2/framework/tests/test_lookup_table.py | 29 ++---- .../paddle/v2/framework/tests/test_mean_op.py | 24 ++--- .../v2/framework/tests/test_minus_op.py | 23 ++--- .../paddle/v2/framework/tests/test_mul_op.py | 98 +++++-------------- python/paddle/v2/framework/tests/test_net.py | 2 +- .../v2/framework/tests/test_rowwise_add_op.py | 73 ++++++-------- .../tests/test_scale_and_identity_op.py | 41 +++----- .../v2/framework/tests/test_scatter_op.py | 37 +++---- .../paddle/v2/framework/tests/test_sgd_op.py | 17 ++-- .../v2/framework/tests/test_softmax_op.py | 28 ++---- .../tests/test_squared_l2_distance_op.py | 76 ++++++-------- .../paddle/v2/framework/tests/test_sum_op.py | 12 +-- .../v2/framework/tests/test_top_k_op.py | 17 ++-- .../framework/tests/test_uniform_random_op.py | 8 +- 23 files changed, 267 insertions(+), 423 deletions(-) diff --git a/python/paddle/v2/framework/tests/CMakeLists.txt b/python/paddle/v2/framework/tests/CMakeLists.txt index 2117fdf0d5..07997e201a 100644 --- a/python/paddle/v2/framework/tests/CMakeLists.txt +++ b/python/paddle/v2/framework/tests/CMakeLists.txt @@ -19,8 +19,6 @@ py_test(test_scatter_op SRCS test_scatter_op.py) py_test(test_fill_zeros_like_op SRCS test_fill_zeros_like_op.py) py_test(test_top_k_op SRCS test_top_k_op.py) -py_test(gradient_checker SRCS gradient_checker.py) - py_test(test_rowwise_add_op SRCS test_rowwise_add_op.py) py_test(test_default_scope_funcs SRCS test_default_scope_funcs.py) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py index 3a6a5dca4c..fe094df8e5 100644 --- a/python/paddle/v2/framework/tests/op_test.py +++ b/python/paddle/v2/framework/tests/op_test.py @@ -9,7 +9,7 @@ def grad_var_name(var_name): return var_name + "@GRAD" -def create_op(scope, op_type, inputs, outputs, attrs=None): +def create_op(scope, op_type, inputs, outputs, attrs): kwargs = dict() for in_name, in_dup in Operator.get_op_inputs(op_type): @@ -29,15 +29,16 @@ def create_op(scope, op_type, inputs, outputs, attrs=None): kwargs[out_name] = [] if out_dup: sub_in = outputs[out_name] - for sun_in_name in sub_in: - var = scope.new_var(sun_in_name) - kwargs[out_name].append(sun_in_name) + for sub_in_name in sub_in: + var = scope.new_var(sub_in_name) + kwargs[out_name].append(sub_in_name) else: var = scope.new_var(out_name) kwargs[out_name].append(out_name) for attr_name in Operator.get_op_attr_names(op_type): - kwargs[attr_name] = attrs[attr_name] + if attr_name in attrs: + kwargs[attr_name] = attrs[attr_name] return Operator(op_type, **kwargs) @@ -89,6 +90,7 @@ def get_numeric_gradient(scope, delta=0.005, in_place=False): + print "before set input" set_input(scope, op, inputs, core.CPUPlace()) op.infer_shape(scope) @@ -110,7 +112,7 @@ def get_numeric_gradient(scope, # we use a for loop to compute the gradient of every element. for i in xrange(tensor_size): if in_place: - set_input(op, inputs, core.CPUPlace()) + set_input(scope, op, inputs, core.CPUPlace()) # get one input element throw it's index i. origin = tensor_to_check.get_float_element(i) @@ -120,7 +122,7 @@ def get_numeric_gradient(scope, y_pos = get_output() if in_place: - set_input(op, inputs, core.CPUPlace()) + set_input(scope, op, inputs, core.CPUPlace()) x_neg = origin - delta tensor_to_check.set_float_element(i, x_neg) @@ -168,7 +170,11 @@ def get_gradient(scope, op, inputs, outputs, grad_name, place, class OpTest(unittest.TestCase): def check_output_with_place(self, place): self.scope = core.Scope() - self.op = create_op(self.scope, self.op_type, self.inputs, self.outputs) + op_inputs = self.inputs if hasattr(self, "inputs") else dict() + op_outputs = self.outputs if hasattr(self, "outputs") else dict() + op_attrs = self.attrs if hasattr(self, "attrs") else dict() + self.op = create_op(self.scope, self.op_type, op_inputs, op_outputs, + op_attrs) if isinstance(place, core.GPUPlace) and not self.op.support_gpu(): return set_input(self.scope, self.op, self.inputs, place) @@ -227,7 +233,11 @@ class OpTest(unittest.TestCase): in_place=False, max_relative_error=0.005): self.scope = core.Scope() - self.op = create_op(self.scope, self.op_type, self.inputs, self.outputs) + op_inputs = self.inputs if hasattr(self, "inputs") else dict() + op_outputs = self.outputs if hasattr(self, "outputs") else dict() + op_attrs = self.attrs if hasattr(self, "attrs") else dict() + self.op = create_op(self.scope, self.op_type, op_inputs, op_outputs, + op_attrs) if no_grad_set is None: no_grad_set = set() diff --git a/python/paddle/v2/framework/tests/test_add_two_op.py b/python/paddle/v2/framework/tests/test_add_two_op.py index a578e74eca..3ca34d9b9f 100644 --- a/python/paddle/v2/framework/tests/test_add_two_op.py +++ b/python/paddle/v2/framework/tests/test_add_two_op.py @@ -1,23 +1,20 @@ import unittest +import numpy as np +from op_test import OpTest -import numpy -import paddle.v2.framework.core as core -from paddle.v2.framework.op import Operator - -from op_test_util import OpTestMeta - - -class TestAddOp(unittest.TestCase): - __metaclass__ = OpTestMeta +class TestAddOp(OpTest): def setUp(self): - self.type = "add" + self.op_type = "add" self.inputs = { - 'X': numpy.random.random((102, 105)).astype("float32"), - 'Y': numpy.random.random((102, 105)).astype("float32") + 'X': np.random.random((102, 105)).astype("float32"), + 'Y': np.random.random((102, 105)).astype("float32") } self.outputs = {'Out': self.inputs['X'] + self.inputs['Y']} + def test_check_output(self): + self.check_output() + -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_cos_sim_op.py b/python/paddle/v2/framework/tests/test_cos_sim_op.py index 32013a7999..797cbd8cc5 100644 --- a/python/paddle/v2/framework/tests/test_cos_sim_op.py +++ b/python/paddle/v2/framework/tests/test_cos_sim_op.py @@ -1,17 +1,14 @@ import unittest import numpy as np -from gradient_checker import GradientChecker, create_op -from op_test_util import OpTestMeta +from op_test import OpTest -class TestCosSimOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestCosSimOp(OpTest): def setUp(self): - self.type = "cos_sim" + self.op_type = "cos_sim" self.inputs = { - 'X': np.random.random((32, 64)).astype("float32"), - 'Y': np.random.random((32, 64)).astype("float32") + 'X': np.random.random((10, 5)).astype("float32"), + 'Y': np.random.random((10, 5)).astype("float32") } expect_x_norm = np.linalg.norm(self.inputs['X'], axis=1) expect_y_norm = np.linalg.norm(self.inputs['Y'], axis=1) @@ -23,38 +20,20 @@ class TestCosSimOp(unittest.TestCase): 'Out': np.expand_dims(expect_out, 1) } + def test_check_output(self): + self.check_output() -class TestCosSimGradOp(GradientChecker): - def setUp(self): - self.op = create_op("cos_sim") - self.inputs = { - 'X': np.random.random((10, 5)).astype("float32"), - 'Y': np.random.random((10, 5)).astype("float32") - } - - def test_cpu_gpu_compare(self): - self.compare_grad(self.op, self.inputs) - - def test_normal(self): - self.check_grad( - self.op, self.inputs, ["X", "Y"], "Out", max_relative_error=0.05) + def test_check_grad_normal(self): + self.check_grad(['X', 'Y'], 'Out', max_relative_error=0.05) - def test_ignore_x(self): + def test_check_grad_ingore_x(self): self.check_grad( - self.op, - self.inputs, ["Y"], - "Out", - max_relative_error=0.05, - no_grad_set={"X"}) + ['Y'], 'Out', max_relative_error=0.05, no_grad_set=set('X')) - def test_ignore_y(self): + def test_check_grad_ignore_y(self): self.check_grad( - self.op, - self.inputs, ["X"], - "Out", - max_relative_error=0.05, - no_grad_set={"Y"}) + ['X'], 'Out', max_relative_error=0.05, no_grad_set=set('Y')) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_cross_entropy_op.py b/python/paddle/v2/framework/tests/test_cross_entropy_op.py index fb6a440e23..c2fc102a8b 100644 --- a/python/paddle/v2/framework/tests/test_cross_entropy_op.py +++ b/python/paddle/v2/framework/tests/test_cross_entropy_op.py @@ -21,7 +21,7 @@ class TestCrossEntropy(OpTest): self.check_output() def test_check_grad(self): - self.check_grad(["X"], "Y") + self.check_grad(['X'], 'Y') if __name__ == "__main__": diff --git a/python/paddle/v2/framework/tests/test_fill_zeros_like_op.py b/python/paddle/v2/framework/tests/test_fill_zeros_like_op.py index e5c862605f..2473daaba2 100644 --- a/python/paddle/v2/framework/tests/test_fill_zeros_like_op.py +++ b/python/paddle/v2/framework/tests/test_fill_zeros_like_op.py @@ -1,16 +1,17 @@ import unittest -from op_test_util import OpTestMeta -import numpy +import numpy as np +from op_test import OpTest -class TestFillZerosLikeOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestFillZerosLikeOp(OpTest): def setUp(self): - self.type = "fill_zeros_like" - self.inputs = {'Src': numpy.random.random((219, 232)).astype("float32")} - self.outputs = {'Dst': numpy.zeros_like(self.inputs['Src'])} + self.op_type = "fill_zeros_like" + self.inputs = {'Src': np.random.random((219, 232)).astype("float32")} + self.outputs = {'Dst': np.zeros_like(self.inputs["Src"])} + + def test_check_output(self): + self.check_output() -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_gather_op.py b/python/paddle/v2/framework/tests/test_gather_op.py index e3de3fd0a1..b0ab429ef1 100644 --- a/python/paddle/v2/framework/tests/test_gather_op.py +++ b/python/paddle/v2/framework/tests/test_gather_op.py @@ -1,30 +1,20 @@ import unittest -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op -import numpy -import paddle.v2.framework.core as core -from paddle.v2.framework.op import Operator +import numpy as np +from op_test import OpTest -class TestGatherOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestGatherOp(OpTest): def setUp(self): - self.type = "gather" - xnp = numpy.random.random((10, 20)).astype("float32") - self.inputs = { - 'X': xnp, - 'Index': numpy.array([1, 3, 5]).astype("int32") - } - self.outputs = {'Out': self.inputs['X'][self.inputs['Index']]} + self.op_type = "gather" + xnp = np.random.random((10, 20)).astype("float32") + self.inputs = {'X': xnp, 'Index': np.array([1, 3, 5]).astype("int32")} + self.outputs = {'Out': self.inputs["X"][self.inputs["Index"]]} + def test_check_output(self): + self.check_output() -class TestGatherGradOp(GradientChecker): - def test_gather_grad(self): - op = create_op("gather") - xnp = numpy.random.random((10, 20)).astype("float32") - inputs = {'X': xnp, 'Index': numpy.array([1, 3, 5]).astype("int32")} - self.check_grad(op, inputs, set("X"), "Out") + def test_check_grad(self): + self.check_grad(['X'], 'Out') if __name__ == "__main__": diff --git a/python/paddle/v2/framework/tests/test_gaussian_random_op.py b/python/paddle/v2/framework/tests/test_gaussian_random_op.py index f95ed70b58..1f9e4db783 100644 --- a/python/paddle/v2/framework/tests/test_gaussian_random_op.py +++ b/python/paddle/v2/framework/tests/test_gaussian_random_op.py @@ -14,11 +14,11 @@ class GaussianRandomTest(unittest.TestCase): def gaussian_random_test(self, place): scope = core.Scope() - scope.new_var("Out").get_tensor() + scope.new_var('Out').get_tensor() op = Operator( "gaussian_random", - Out="Out", + Out='Out', dims=[1000, 784], mean=.0, std=1., @@ -27,10 +27,10 @@ class GaussianRandomTest(unittest.TestCase): op.infer_shape(scope) context = core.DeviceContext.create(place) op.run(scope, context) - tensor = numpy.array(scope.find_var("Out").get_tensor()) + tensor = numpy.array(scope.find_var('Out').get_tensor()) self.assertAlmostEqual(numpy.mean(tensor), .0, delta=0.1) self.assertAlmostEqual(numpy.std(tensor), 1., delta=0.1) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_gradient_checker.py b/python/paddle/v2/framework/tests/test_gradient_checker.py index e8a7f848df..abeb01cb34 100644 --- a/python/paddle/v2/framework/tests/test_gradient_checker.py +++ b/python/paddle/v2/framework/tests/test_gradient_checker.py @@ -1,42 +1,44 @@ import unittest -import numpy -from paddle.v2.framework.op import Operator -from gradient_checker import GradientChecker -from gradient_checker import get_numeric_gradient +import numpy as np +import paddle.v2.framework.core as core +from op_test import get_numeric_gradient +from op_test import create_op class GetNumericGradientTest(unittest.TestCase): def test_add_op(self): - add_op = Operator("add", X="X", Y="Y", Out="Z") - x = numpy.random.random((10, 1)).astype("float32") - y = numpy.random.random((10, 1)).astype("float32") - - arr = get_numeric_gradient(add_op, {"X": x, "Y": y}, "Z", "X") + x = np.random.random((10, 1)).astype("float32") + y = np.random.random((10, 1)).astype("float32") + z = x + y + scope = core.Scope() + add_op = create_op(scope, "add", {'X': x, 'Y': y}, {'Out': z}, dict()) + arr = get_numeric_gradient(scope, add_op, {'X': x, 'Y': y}, 'X', 'Out') self.assertAlmostEqual(arr.mean(), 1.0, delta=1e-4) def test_softmax_op(self): def stable_softmax(x): """Compute the softmax of vector x in a numerically stable way.""" - shiftx = x - numpy.max(x) - exps = numpy.exp(shiftx) - return exps / numpy.sum(exps) + shiftx = x - np.max(x) + exps = np.exp(shiftx) + return exps / np.sum(exps) def label_softmax_grad(Y, dY): dX = Y * 0.0 for i in range(Y.shape[0]): - d = numpy.dot(Y[i, :], dY[i, :]) + d = np.dot(Y[i, :], dY[i, :]) dX[i, :] = Y[i, :] * (dY[i, :] - d) return dX - softmax_op = Operator("softmax", X="X", Y="Y") - - X = numpy.random.random((2, 2)).astype("float32") - Y = numpy.apply_along_axis(stable_softmax, 1, X) - dY = numpy.ones(Y.shape) + X = np.random.random((2, 2)).astype("float32") + Y = np.apply_along_axis(stable_softmax, 1, X) + dY = np.ones(Y.shape) dX = label_softmax_grad(Y, dY) - arr = get_numeric_gradient(softmax_op, {"X": X}, "Y", "X") - numpy.testing.assert_almost_equal(arr, dX, decimal=1e-2) + scope = core.Scope() + softmax_op = create_op(scope, "softmax", {"X": X}, {"Y": Y}, dict()) + + arr = get_numeric_gradient(scope, softmax_op, {"X": X}, "X", "Y") + np.testing.assert_almost_equal(arr, dX, decimal=1e-2) if __name__ == "__main__": diff --git a/python/paddle/v2/framework/tests/test_lookup_table.py b/python/paddle/v2/framework/tests/test_lookup_table.py index 4b7ce92c0f..b259bb67e8 100644 --- a/python/paddle/v2/framework/tests/test_lookup_table.py +++ b/python/paddle/v2/framework/tests/test_lookup_table.py @@ -1,31 +1,22 @@ import unittest import numpy as np -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op +from op_test import OpTest -class TestLookupTableOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestLookupTableOp(OpTest): def setUp(self): - self.type = 'lookup_table' - table = np.random.random((17, 31)).astype('float32') - ids = np.random.randint(0, 17, 4).astype('int32') + self.op_type = "lookup_table" + table = np.random.random((17, 31)).astype("float32") + ids = np.random.randint(0, 17, 4).astype("int32") self.inputs = {'W': table, 'Ids': ids} self.outputs = {'Out': table[ids]} + def test_check_output(self): + self.check_output() -class TestLookupTableGradOp(GradientChecker): - def test_grad(self): - op = create_op('lookup_table') - table = np.random.random((17, 31)).astype('float32') - ids = np.random.randint(0, 17, 4).astype('int32') - inputs = {'W': table, 'Ids': ids} - # comapre gradients - self.compare_grad(op, inputs, set(['Ids'])) - # check gradients - self.check_grad(op, inputs, set('W'), 'Out') + def test_check_grad(self): + self.check_grad(['W'], 'Out', no_grad_set=set('Ids')) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_mean_op.py b/python/paddle/v2/framework/tests/test_mean_op.py index f32b3160d6..7823abd8f8 100644 --- a/python/paddle/v2/framework/tests/test_mean_op.py +++ b/python/paddle/v2/framework/tests/test_mean_op.py @@ -1,24 +1,20 @@ import unittest -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op import numpy as np +from op_test import OpTest -class TestMeanOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestMeanOp(OpTest): def setUp(self): - self.type = "mean" - self.inputs = {'X': np.random.random((32, 784)).astype("float32")} - self.outputs = {'Out': np.mean(self.inputs['X'])} + self.op_type = "mean" + self.inputs = {'X': np.random.random((10, 10)).astype("float32")} + self.outputs = {'Out': np.mean(self.inputs["X"])} + def test_check_output(self): + self.check_output() -class MeanGradOpTest(GradientChecker): - def test_normal(self): - op = create_op("mean") - inputs = {"X": np.random.random((10, 10)).astype("float32")} - self.check_grad(op, inputs, set("X"), "Out") + def test_checkout_grad(self): + self.check_grad(['X'], 'Out') -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_minus_op.py b/python/paddle/v2/framework/tests/test_minus_op.py index 5abdd4a69b..dea797a1fe 100644 --- a/python/paddle/v2/framework/tests/test_minus_op.py +++ b/python/paddle/v2/framework/tests/test_minus_op.py @@ -1,30 +1,23 @@ import unittest import numpy as np -from gradient_checker import GradientChecker, create_op -from op_test_util import OpTestMeta +from op_test import OpTest -class MinusOpTest(unittest.TestCase): - __metaclass__ = OpTestMeta - +class MinusOpTest(OpTest): def setUp(self): - self.type = "minus" + self.op_type = "minus" self.inputs = { 'X': np.random.random((32, 84)).astype("float32"), 'Y': np.random.random((32, 84)).astype("float32") } self.outputs = {'Out': (self.inputs['X'] - self.inputs['Y'])} + def test_check_output(self): + self.check_output() -class MinusGradTest(GradientChecker): - def test_left(self): - op = create_op("minus") - inputs = { - "X": np.random.random((10, 10)).astype("float32"), - "Y": np.random.random((10, 10)).astype("float32") - } - self.check_grad(op, inputs, ["X", 'Y'], "Out") + def test_check_grad(self): + self.check_grad(['X', 'Y'], 'Out') -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_mul_op.py b/python/paddle/v2/framework/tests/test_mul_op.py index 8c827e242e..b3d95a56b8 100644 --- a/python/paddle/v2/framework/tests/test_mul_op.py +++ b/python/paddle/v2/framework/tests/test_mul_op.py @@ -1,27 +1,35 @@ import unittest import numpy as np -from gradient_checker import GradientChecker, create_op -from op_test_util import OpTestMeta -from paddle.v2.framework.op import Operator +from op_test import OpTest -class TestMulOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestMulOp(OpTest): def setUp(self): - self.type = "mul" + self.op_type = "mul" self.inputs = { 'X': np.random.random((32, 84)).astype("float32"), 'Y': np.random.random((84, 100)).astype("float32") } self.outputs = {'Out': np.dot(self.inputs['X'], self.inputs['Y'])} + def test_check_output(self): + self.check_output() + + def test_check_grad_normal(self): + self.check_grad(['X', 'Y'], 'Out', max_relative_error=0.5) -class TestMulOp2(unittest.TestCase): - __metaclass__ = OpTestMeta + def test_check_grad_ingore_x(self): + self.check_grad( + ['Y'], 'Out', max_relative_error=0.5, no_grad_set=set("X")) + def test_check_grad_ingore_y(self): + self.check_grad( + ['X'], 'Out', max_relative_error=0.5, no_grad_set=set('Y')) + + +class TestMulOp2(OpTest): def setUp(self): - self.type = "mul" + self.op_type = "mul" self.inputs = { 'X': np.random.random((15, 4, 12, 10)).astype("float32"), 'Y': np.random.random((4, 30, 8, 2, 9)).astype("float32") @@ -32,72 +40,20 @@ class TestMulOp2(unittest.TestCase): self.inputs['Y'].reshape(4 * 30, 8 * 2 * 9)) } + def test_check_output(self): + self.check_output() -class TestMulGradOp(GradientChecker): - def setUp(self): - self.op = create_op("mul") - self.inputs = { - 'X': np.random.random((32, 84)).astype("float32"), - 'Y': np.random.random((84, 100)).astype("float32") - } - - def test_cpu_gpu_compare(self): - self.compare_grad(self.op, self.inputs) - - def test_normal(self): - # mul op will enlarge the relative error - self.check_grad( - self.op, self.inputs, ["X", "Y"], "Out", max_relative_error=0.5) - - def test_ignore_x(self): - self.check_grad( - self.op, - self.inputs, ["Y"], - "Out", - max_relative_error=0.5, - no_grad_set={"X"}) - - def test_ignore_y(self): - self.check_grad( - self.op, - self.inputs, ["X"], - "Out", - max_relative_error=0.5, - no_grad_set={"Y"}) - - -class TestMulGradTest2(GradientChecker): - def setUp(self): - self.op = Operator( - "mul", X="X", Y="Y", Out="Out", x_num_col_dims=2, y_num_col_dims=2) - self.inputs = { - "X": np.random.random((15, 4, 12, 10)).astype("float32"), - "Y": np.random.random((4, 30, 8, 2, 9)).astype("float32") - } - - def test_cpu_gpu_compare(self): - self.compare_grad(self.op, self.inputs) - - def test_normal(self): - self.check_grad( - self.op, self.inputs, ["X", "Y"], "Out", max_relative_error=0.5) + def test_check_grad_normal(self): + self.check_grad(['X', 'Y'], 'Out', max_relative_error=0.5) - def test_ignore_x(self): + def test_check_grad_ingore_x(self): self.check_grad( - self.op, - self.inputs, ["Y"], - "Out", - max_relative_error=0.5, - no_grad_set={"X"}) + ['Y'], 'Out', max_relative_error=0.5, no_grad_set=set('X')) - def test_ignore_y(self): + def test_check_grad_ignore_y(self): self.check_grad( - self.op, - self.inputs, ["X"], - "Out", - max_relative_error=0.5, - no_grad_set={"Y"}) + ['X'], 'Out', max_relative_error=0.5, no_grad_set=set('Y')) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_net.py b/python/paddle/v2/framework/tests/test_net.py index e4b7cd480c..50cfb855f2 100644 --- a/python/paddle/v2/framework/tests/test_net.py +++ b/python/paddle/v2/framework/tests/test_net.py @@ -35,5 +35,5 @@ Op(plain_net), inputs:{all[W, X, Y]}, outputs:{all[Out, fc.out, pre_activation]} self.assertEqual(expected, "\n" + str(net)) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_rowwise_add_op.py b/python/paddle/v2/framework/tests/test_rowwise_add_op.py index 8378c1cd21..336645bd99 100644 --- a/python/paddle/v2/framework/tests/test_rowwise_add_op.py +++ b/python/paddle/v2/framework/tests/test_rowwise_add_op.py @@ -1,68 +1,51 @@ import unittest import numpy as np -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op +from op_test import OpTest -class TestRowwiseAddOp(unittest.TestCase): - __metaclass__ = OpTestMeta - - def setUp(self): - self.type = "rowwise_add" - self.inputs = { - 'X': np.random.random((32, 84)).astype("float32"), - 'b': np.random.random(84).astype("float32") - } - self.outputs = {'Out': np.add(self.inputs['X'], self.inputs['b'])} - - -class TestRowwiseAddOp2(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestRowwiseAddOp(OpTest): def setUp(self): - self.type = "rowwise_add" + self.op_type = "rowwise_add" self.inputs = { - 'X': np.random.random((13, 6, 7, 8)).astype("float32"), - 'b': np.random.random((7, 8)).astype("float32") + 'X': np.random.uniform(0.1, 1, [5, 10]).astype("float32"), + 'b': np.random.uniform(0.1, 1, [10]).astype("float32") } self.outputs = {'Out': np.add(self.inputs['X'], self.inputs['b'])} + def test_check_output(self): + self.check_output() -class TestRowwiseAddGradOp(GradientChecker): - def setUp(self): - self.op = create_op("rowwise_add") - self.inputs = { - "X": np.random.uniform(0.1, 1, [5, 10]).astype("float32"), - "b": np.random.uniform(0.1, 1, [10]).astype("float32") - } + def test_check_grad_normal(self): + self.check_grad(['X', 'b'], 'Out') - def test_normal(self): - self.check_grad(self.op, self.inputs, ["X", "b"], "Out") + def test_check_grad_ingore_b(self): + self.check_grad(['X'], 'Out', no_grad_set=set('b')) - def test_ignore_b(self): - self.check_grad(self.op, self.inputs, ["X"], "Out", no_grad_set={"b"}) + def test_check_grad_ingore_x(self): + self.check_grad(['b'], 'Out', no_grad_set=set('X')) - def test_ignore_x(self): - self.check_grad(self.op, self.inputs, ["b"], "Out", no_grad_set={"X"}) - -class TestRowwiseAddGradOp2(GradientChecker): +class TestRowwiseAddOp2(OpTest): def setUp(self): - self.op = create_op("rowwise_add") + self.op_type = "rowwise_add" self.inputs = { - "X": np.random.uniform(0.1, 1, [2, 3, 2, 5]).astype("float32"), - "b": np.random.uniform(0.1, 1, [2, 5]).astype("float32") + 'X': np.random.uniform(0.1, 1, [2, 3, 2, 5]).astype("float32"), + 'b': np.random.uniform(0.1, 1, [2, 5]).astype("float32") } + self.outputs = {'Out': np.add(self.inputs['X'], self.inputs['b'])} + + def test_check_output(self): + self.check_output() - def test_normal(self): - self.check_grad(self.op, self.inputs, ["X", "b"], "Out") + def test_check_grad_normal(self): + self.check_grad(['X', 'b'], 'Out') - def test_ignore_b(self): - self.check_grad(self.op, self.inputs, ["X"], "Out", no_grad_set={"b"}) + def test_check_grad_ignore_b(self): + self.check_grad(['X'], 'Out', no_grad_set=set('b')) - def test_ignore_x(self): - self.check_grad(self.op, self.inputs, ["b"], "Out", no_grad_set={"X"}) + def test_check_grad_ignore_x(self): + self.check_grad(['b'], 'Out', no_grad_set=set('X')) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_scale_and_identity_op.py b/python/paddle/v2/framework/tests/test_scale_and_identity_op.py index 69b301c376..05d76d4282 100644 --- a/python/paddle/v2/framework/tests/test_scale_and_identity_op.py +++ b/python/paddle/v2/framework/tests/test_scale_and_identity_op.py @@ -1,43 +1,34 @@ import unittest -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op import numpy as np -from paddle.v2.framework.op import Operator +from op_test import OpTest -class IdentityTest(unittest.TestCase): - __metaclass__ = OpTestMeta - +class IdentityTest(OpTest): def setUp(self): - self.type = "identity" - self.inputs = {'X': np.random.random((32, 784)).astype("float32")} + self.op_type = "identity" + self.inputs = {'X': np.random.random((10, 10)).astype("float32")} self.outputs = {'Out': self.inputs['X']} + def test_check_output(self): + self.check_output() -class IdentityGradOpTest(GradientChecker): - def test_normal(self): - op = create_op("identity") - inputs = {"X": np.random.random((10, 10)).astype("float32")} - self.check_grad(op, inputs, set("X"), "Out") - + def test_check_grad(self): + self.check_grad(['X'], 'Out') -class ScaleTest(unittest.TestCase): - __metaclass__ = OpTestMeta +class ScaleTest(OpTest): def setUp(self): - self.type = "scale" - self.inputs = {'X': np.random.random((32, 784)).astype("float32")} + self.op_type = "scale" + self.inputs = {'X': np.random.random((10, 10)).astype("float32")} self.attrs = {'scale': -2.3} self.outputs = {'Out': self.inputs['X'] * self.attrs['scale']} + def test_check_output(self): + self.check_output() -class ScaleGradTest(GradientChecker): - def test_normal(self): - op = Operator("scale", X="X", Out="Out", scale=3.2) - self.check_grad(op, - {"X": np.random.random((10, 10)).astype("float32")}, - set("X"), "Out") + def test_check_grad(self): + self.check_grad(['X'], 'Out') -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_scatter_op.py b/python/paddle/v2/framework/tests/test_scatter_op.py index c1f9444889..33c73c5263 100644 --- a/python/paddle/v2/framework/tests/test_scatter_op.py +++ b/python/paddle/v2/framework/tests/test_scatter_op.py @@ -1,37 +1,24 @@ import unittest -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op -import numpy -import paddle.v2.framework.core as core -from paddle.v2.framework.op import Operator +import numpy as np +from op_test import OpTest -class TestScatterOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestScatterOp(OpTest): def setUp(self): - self.type = "scatter" - ref_np = numpy.ones((3, 3)).astype("float32") - index_np = numpy.array([1, 2]).astype("int32") - updates_np = numpy.random.random((2, 3)).astype("float32") - output_np = numpy.copy(ref_np) + self.op_type = "scatter" + ref_np = np.ones((3, 3)).astype("float32") + index_np = np.array([1, 2]).astype("int32") + updates_np = np.random.random((2, 3)).astype("float32") + output_np = np.copy(ref_np) output_np[index_np] += updates_np self.inputs = {'Ref': ref_np, 'Index': index_np, 'Updates': updates_np} self.outputs = {'Out': output_np} + def test_check_output(self): + self.check_output() -class TestScatterGradOp(GradientChecker): - def test_scatter_grad(self): - op = create_op("scatter") - # test data setup - ref_np = numpy.ones((3, 10)).astype("float32") - index_np = numpy.array([1, 2]).astype("int32") - updates_np = numpy.random.random((2, 10)).astype("float32") - output_np = numpy.copy(ref_np) - output_np[index_np] += updates_np - inputs = {'Ref': ref_np, 'Index': index_np, 'Updates': updates_np} - self.check_grad( - op, inputs, set(["Updates", "Ref"]), "Out", in_place=True) + def test_check_grad(self): + self.check_grad(['Updates', 'Ref'], 'Out', in_place=True) if __name__ == "__main__": diff --git a/python/paddle/v2/framework/tests/test_sgd_op.py b/python/paddle/v2/framework/tests/test_sgd_op.py index e5f9ef865e..557cf15ace 100644 --- a/python/paddle/v2/framework/tests/test_sgd_op.py +++ b/python/paddle/v2/framework/tests/test_sgd_op.py @@ -1,21 +1,22 @@ import unittest -import numpy -from op_test_util import OpTestMeta +import numpy as np +from op_test import OpTest -class TestSGD(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestSGD(OpTest): def setUp(self): - self.type = "sgd" - w = numpy.random.random((102, 105)).astype("float32") - g = numpy.random.random((102, 105)).astype("float32") + self.op_type = "sgd" + w = np.random.random((102, 105)).astype("float32") + g = np.random.random((102, 105)).astype("float32") lr = 0.1 self.inputs = {'param': w, 'grad': g} self.attrs = {'learning_rate': lr} self.outputs = {'param_out': w - lr * g} + def test_check_output(self): + self.check_output() + if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_softmax_op.py b/python/paddle/v2/framework/tests/test_softmax_op.py index 0d590fa706..1c5802dfd5 100644 --- a/python/paddle/v2/framework/tests/test_softmax_op.py +++ b/python/paddle/v2/framework/tests/test_softmax_op.py @@ -1,9 +1,6 @@ import unittest - import numpy as np - -from gradient_checker import GradientChecker, create_op -from op_test_util import OpTestMeta +from op_test import OpTest def stable_softmax(x): @@ -13,26 +10,21 @@ def stable_softmax(x): return exps / np.sum(exps) -class TestSoftmaxOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestSoftmaxOp(OpTest): def setUp(self): self.type = "softmax" - self.inputs = {"X": np.random.random((10, 10)).astype("float32")} + self.inputs = { + 'X': np.random.uniform(0.1, 1, [10, 10]).astype("float32") + } self.outputs = { - "Y": np.apply_along_axis(stable_softmax, 1, self.inputs["X"]) + 'Y': np.apply_along_axis(stable_softmax, 1, self.inputs['X']) } + def test_check_output(self): + self.check_output() -class TestSoftmaxGradOp(GradientChecker): - def setUp(self): - self.op = create_op("softmax") - self.inputs = { - "X": np.random.uniform(0.1, 1, [10, 10]).astype("float32") - } - - def test_softmax_grad(self): - self.check_grad(self.op, self.inputs, ["X"], "Y") + def test_check_grad(self): + self.check_grad(['X'], 'Y') if __name__ == "__main__": diff --git a/python/paddle/v2/framework/tests/test_squared_l2_distance_op.py b/python/paddle/v2/framework/tests/test_squared_l2_distance_op.py index 2bcdf37df4..dc6ebf5d30 100644 --- a/python/paddle/v2/framework/tests/test_squared_l2_distance_op.py +++ b/python/paddle/v2/framework/tests/test_squared_l2_distance_op.py @@ -1,17 +1,14 @@ import unittest -from op_test_util import OpTestMeta -from gradient_checker import GradientChecker, create_op import numpy as np +from op_test import OpTest -class TestSquaredL2DistanceOp_f0(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestSquaredL2DistanceOp_f0(OpTest): def setUp(self): - self.type = 'squared_l2_distance' + self.op_type = "squared_l2_distance" self.inputs = { - 'X': np.random.uniform(0.1, 1., (32, 64)).astype('float32'), - 'Y': np.random.uniform(0.1, 1., (32, 64)).astype('float32') + 'X': np.random.uniform(0.1, 0.6, (2, 3)).astype("float32"), + 'Y': np.random.uniform(0.1, 0.6, (2, 3)).astype("float32") } sub_res = self.inputs['X'] - self.inputs['Y'] output = sub_res * sub_res @@ -20,15 +17,19 @@ class TestSquaredL2DistanceOp_f0(unittest.TestCase): 'Out': np.expand_dims(output.sum(1), 1) } + def test_check_output(self): + self.check_output() + + def test_check_grad(self): + self.check_grad(['X', 'Y'], 'Out') -class TestSquaredL2DistanceOp_f1(unittest.TestCase): - __metaclass__ = OpTestMeta +class TestSquaredL2DistanceOp_f1(OpTest): def setUp(self): - self.type = 'squared_l2_distance' + self.op_type = "squared_l2_distance" self.inputs = { - 'X': np.random.uniform(0.1, 1., (32, 64)).astype('float32'), - 'Y': np.random.uniform(0.1, 1., (1, 64)).astype('float32') + 'X': np.random.uniform(0.1, 0.6, (2, 3)).astype("float32"), + 'Y': np.random.uniform(0.1, 0.6, (1, 3)).astype("float32") } sub_res = self.inputs['X'] - self.inputs['Y'] output = sub_res * sub_res @@ -37,53 +38,34 @@ class TestSquaredL2DistanceOp_f1(unittest.TestCase): 'Out': np.expand_dims(output.sum(1), 1) } + def test_check_output(self): + self.check_output() -class TestSquaredL2DistanceOp_f2(unittest.TestCase): - __metaclass__ = OpTestMeta + def test_check_grad(self): + self.check_grad(['X', 'Y'], 'Out') + +class TestSquaredL2DistanceOp_f2(OpTest): def setUp(self): - self.type = 'squared_l2_distance' + self.op_type = "squared_l2_distance" self.inputs = { - 'X': np.random.uniform(0.1, 1., (32, 64, 128)).astype('float32'), - 'Y': np.random.uniform(0.1, 1., (1, 64, 128)).astype('float32') + 'X': np.random.uniform(0.1, 0.6, (2, 3, 4)).astype("float32"), + 'Y': np.random.uniform(0.1, 0.6, (1, 3, 4)).astype("float32") } sub_res = self.inputs['X'] - self.inputs['Y'] - sub_res = sub_res.reshape((32, 64 * 128)) + sub_res = sub_res.reshape((2, 3 * 4)) output = sub_res * sub_res self.outputs = { 'sub_result': sub_res, 'Out': np.expand_dims(output.sum(1), 1) } + def test_check_output(self): + self.check_output() -class TestSquaredL2DistanceGradOp(GradientChecker): - def test_squared_l2_distance_b0(self): - op = create_op("squared_l2_distance") - inputs = { - 'X': np.random.uniform(0.1, .6, (2, 3)).astype('float32'), - 'Y': np.random.uniform(0.1, .6, (2, 3)).astype('float32') - } - self.compare_grad(op, inputs) - self.check_grad(op, inputs, set(["X", "Y"]), "Out") - - def test_squared_l2_distance_b1(self): - op = create_op("squared_l2_distance") - inputs = { - 'X': np.random.uniform(0.1, .6, (2, 3)).astype('float32'), - 'Y': np.random.uniform(0.1, .6, (1, 3)).astype('float32') - } - self.compare_grad(op, inputs) - self.check_grad(op, inputs, set(["X", "Y"]), "Out") - - def test_squared_l2_distance_b2(self): - op = create_op("squared_l2_distance") - inputs = { - 'X': np.random.uniform(0.1, .6, (2, 3, 4)).astype('float32'), - 'Y': np.random.uniform(0.1, .6, (1, 3, 4)).astype('float32') - } - self.compare_grad(op, inputs) - self.check_grad(op, inputs, set(["X", "Y"]), "Out") + def test_check_grad(self): + self.check_grad(['X', 'Y'], 'Out') -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_sum_op.py b/python/paddle/v2/framework/tests/test_sum_op.py index 66417d70e8..f8eb34c076 100644 --- a/python/paddle/v2/framework/tests/test_sum_op.py +++ b/python/paddle/v2/framework/tests/test_sum_op.py @@ -6,10 +6,10 @@ from op_test import OpTest class TestSumOp(OpTest): def setUp(self): self.op_type = "sum" - x0 = np.random.random((3, 4)).astype('float32') - x1 = np.random.random((3, 4)).astype('float32') - x2 = np.random.random((3, 4)).astype('float32') - self.inputs = {"X": {"x0": x0, "x1": x1, "x2": x2}} + x0 = np.random.random((3, 4)).astype("float32") + x1 = np.random.random((3, 4)).astype("float32") + x2 = np.random.random((3, 4)).astype("float32") + self.inputs = {'X': {'x0': x0, 'x1': x1, 'x2': x2}} y = x0 + x1 + x2 self.outputs = {'Out': y} @@ -17,8 +17,8 @@ class TestSumOp(OpTest): self.check_output() def test_check_grad(self): - self.check_grad(["x0"], "Out") + self.check_grad(['x0'], 'Out') -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_top_k_op.py b/python/paddle/v2/framework/tests/test_top_k_op.py index e841d96d26..cab799256d 100644 --- a/python/paddle/v2/framework/tests/test_top_k_op.py +++ b/python/paddle/v2/framework/tests/test_top_k_op.py @@ -1,14 +1,11 @@ import unittest import numpy as np -from gradient_checker import GradientChecker, create_op -from op_test_util import OpTestMeta +from op_test import OpTest -class TestTopkOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestTopkOp(OpTest): def setUp(self): - self.type = "top_k" + self.op_type = "top_k" k = 1 input = np.random.random((32, 84)).astype("float32") output = np.ndarray((32, k)) @@ -25,11 +22,9 @@ class TestTopkOp(unittest.TestCase): self.outputs = {'Out': output, 'Indices': indices} -class TestTopkOp3d(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestTopkOp3d(OpTest): def setUp(self): - self.type = "top_k" + self.op_type = "top_k" k = 1 input = np.random.random((32, 2, 84)).astype("float32") input_flat_2d = input.reshape(64, 84) @@ -48,5 +43,5 @@ class TestTopkOp3d(unittest.TestCase): self.outputs = {'Out': output, 'Indices': indices} -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/python/paddle/v2/framework/tests/test_uniform_random_op.py b/python/paddle/v2/framework/tests/test_uniform_random_op.py index c3d2bb44da..76a5e36e56 100644 --- a/python/paddle/v2/framework/tests/test_uniform_random_op.py +++ b/python/paddle/v2/framework/tests/test_uniform_random_op.py @@ -14,11 +14,11 @@ class UniformRandomTest(unittest.TestCase): def uniform_random_test(self, place): scope = core.Scope() - scope.new_var("X").get_tensor() + scope.new_var('X').get_tensor() op = Operator( "uniform_random", - Out="X", + Out='X', dims=[1000, 784], min=-5.0, max=10.0, @@ -27,9 +27,9 @@ class UniformRandomTest(unittest.TestCase): op.infer_shape(scope) ctx = core.DeviceContext.create(place) op.run(scope, ctx) - tensor = numpy.array(scope.find_var("X").get_tensor()) + tensor = numpy.array(scope.find_var('X').get_tensor()) self.assertAlmostEqual(tensor.mean(), 2.5, delta=0.1) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() From 7ae72f752d1dcf3a818b9e9a3bef001fa8344b8e Mon Sep 17 00:00:00 2001 From: Yibing Liu <liuyibing01@baidu.com> Date: Mon, 11 Sep 2017 01:09:20 -0700 Subject: [PATCH 48/66] remove unused code in test --- python/paddle/v2/framework/tests/test_reshape_op.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/python/paddle/v2/framework/tests/test_reshape_op.py b/python/paddle/v2/framework/tests/test_reshape_op.py index df7d913ba4..50653f58ee 100644 --- a/python/paddle/v2/framework/tests/test_reshape_op.py +++ b/python/paddle/v2/framework/tests/test_reshape_op.py @@ -15,13 +15,6 @@ class TestReshapeOp(unittest.TestCase): class TestReshapeGradOp(GradientChecker): - """ - def test_normal(self): - op = Operator("reshape", X='X', Out='Out', shape=[5, 40]) - inputs = {"X": np.random.random((10, 20)).astype("float32")} - self.check_grad(op, inputs, set("X"), "Out") - """ - def setUp(self): self.op = Operator("reshape", X='X', Out='Out', shape=[5, 40]) self.inputs = {"X": np.random.random((10, 20)).astype("float32")} From 94ea8ee0e5e9f079cffb87f756d3274f522066e9 Mon Sep 17 00:00:00 2001 From: tensor-tang <jian.j.tang@intel.com> Date: Mon, 11 Sep 2017 16:23:20 +0800 Subject: [PATCH 49/66] refine MKLDNNLayer logical: move forward and backward to MKLDNNLayer and remove copyOutputInfoToOtherDevice --- paddle/gserver/layers/MKLDNNFcLayer.cpp | 81 ++-------- paddle/gserver/layers/MKLDNNFcLayer.h | 32 +--- paddle/gserver/layers/MKLDNNLayer.h | 190 ++++++++++++++++++++---- 3 files changed, 178 insertions(+), 125 deletions(-) diff --git a/paddle/gserver/layers/MKLDNNFcLayer.cpp b/paddle/gserver/layers/MKLDNNFcLayer.cpp index 53433cef35..a47967b3d3 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.cpp +++ b/paddle/gserver/layers/MKLDNNFcLayer.cpp @@ -14,7 +14,6 @@ limitations under the License. */ #include "MKLDNNFcLayer.h" #include "paddle/utils/Logging.h" -#include "paddle/utils/Stat.h" using namespace mkldnn; // NOLINT typedef memory::format format; @@ -40,6 +39,8 @@ bool MKLDNNFcLayer::init(const LayerMap& layerMap, oc_ = getSize(); oh_ = 1; ow_ = 1; + ih_ = 1; + iw_ = 1; // input size can not change in FC iLayerSize_ = inputLayers_[0]->getSize(); @@ -78,36 +79,17 @@ void MKLDNNFcLayer::convertWeightsToPaddle() { } void MKLDNNFcLayer::reshape() { - const Argument& input = getInput(0, getPrev(0)->getDeviceId()); - int batchSize = input.getBatchSize(); - if (bs_ == batchSize) { - return; - } - bs_ = batchSize; - ih_ = input.getFrameHeight(); - iw_ = input.getFrameWidth(); - if (ih_ == 0) { - ih_ = 1; - } - if (iw_ == 0) { - iw_ = 1; - } + reshapeInput(); + CHECK_EQ(iLayerSize_, inputLayers_[0]->getSize()); ic_ = iLayerSize_ / (ih_ * iw_); CHECK_EQ(size_t(ic_ * ih_ * iw_), iLayerSize_) << "not divisible"; CHECK_EQ(size_t(oc_), getSize()); - printSizeInfo(); - // reset output - output_.setFrameHeight(oh_); - output_.setFrameWidth(ow_); - resetOutput(bs_, oc_); + reshapeOutput(oh_, ow_); + resizeOutput(bs_, oc_); - // reset mkldnn forward - resetFwd(); - needResetBwd_ = true; - - convertWeightsFromPaddle(); + printSizeInfo(); } void MKLDNNFcLayer::resetFwd() { @@ -137,7 +119,6 @@ void MKLDNNFcLayer::resetFwd() { // change original output value to mkldnn output value output_.value = std::dynamic_pointer_cast<Matrix>(outVal_); if (!outputIsOnlyMKLDNN()) { - copyOutputInfoToOtherDevice(); // fc cpu output value do not need create convert // just share point getOutput(CPU_DEVICE).value->setData(output_.value->getData()); @@ -243,51 +224,13 @@ void MKLDNNFcLayer::resetBwd() { } void MKLDNNFcLayer::updateInputData() { - if (inputLayers_[0]->getType() != "data") { - return; - } - real* iData = getInputValue(0, CPU_DEVICE)->getData(); - inVal_->setData(iData); -} - -void MKLDNNFcLayer::forward(PassType passType) { - Layer::forward(passType); - reshape(); - - { - REGISTER_TIMER_INFO("mkldnn_FwdTimer", getName().c_str()); - updateInputData(); - - // just submit forward pipeline - stream_->submit(pipelineFwd_); - } - - /* activation */ { - REGISTER_TIMER_INFO("FwActTimer", getName().c_str()); - forwardActivation(); - } + inVal_->setData(getInputValue(0, CPU_DEVICE)->getData()); } -void MKLDNNFcLayer::backward(const UpdateCallback& callback) { - /* Do derivation */ { - REGISTER_TIMER_INFO("BpActTimer", getName().c_str()); - backwardActivation(); - } - - { - REGISTER_TIMER_INFO("mkldnn_bwdTimer", getName().c_str()); - resetBwd(); - - // just sumbmit backward pipeline - stream_->submit(pipelineBwd_); - } - - { - REGISTER_TIMER_INFO("WeightUpdate", getName().c_str()); - weight_->getParameterPtr()->incUpdate(callback); - if (biases_ && biases_->getWGrad()) { - biases_->getParameterPtr()->incUpdate(callback); - } +void MKLDNNFcLayer::updateWeights(const UpdateCallback& callback) { + weight_->getParameterPtr()->incUpdate(callback); + if (biases_ && biases_->getWGrad()) { + biases_->getParameterPtr()->incUpdate(callback); } } } // namespace paddle diff --git a/paddle/gserver/layers/MKLDNNFcLayer.h b/paddle/gserver/layers/MKLDNNFcLayer.h index 4ad67a16e0..add8ac9991 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.h +++ b/paddle/gserver/layers/MKLDNNFcLayer.h @@ -45,35 +45,19 @@ public: bool init(const LayerMap& layerMap, const ParameterMap& parameterMap) override; - void convertWeightsFromPaddle() override; - - void convertWeightsToPaddle() override; + void reshape() override; - void forward(PassType passType) override; + void resetFwd() override; - void backward(const UpdateCallback& callback) override; + void resetBwd() override; void updateInputData() override; -protected: - /** - * reshape the input image sizes - * and reset output buffer size - * and reset mkldnn forward - */ - void reshape(); - - /** - * reset the forward primitve and memory - * only would be called when input size changes - */ - void resetFwd(); - - /** - * reset the backward primitve and memory for mkldnn fc - * only would be called when needed - */ - void resetBwd(); + void updateWeights(const UpdateCallback& callback) override; + + void convertWeightsFromPaddle() override; + + void convertWeightsToPaddle() override; }; } // namespace paddle diff --git a/paddle/gserver/layers/MKLDNNLayer.h b/paddle/gserver/layers/MKLDNNLayer.h index 543364edce..c10f2fec2f 100644 --- a/paddle/gserver/layers/MKLDNNLayer.h +++ b/paddle/gserver/layers/MKLDNNLayer.h @@ -19,6 +19,7 @@ limitations under the License. */ #include "MKLDNNBase.h" #include "mkldnn.hpp" #include "paddle/math/MKLDNNMatrix.h" +#include "paddle/utils/Stat.h" DECLARE_bool(use_mkldnn); @@ -33,6 +34,8 @@ typedef std::shared_ptr<MKLDNNLayer> MKLDNNLayerPtr; */ class MKLDNNLayer : public Layer { protected: + // input value element count + size_t inputElemenCnt_; // batch size int bs_; // input image channel, height and width @@ -52,7 +55,7 @@ protected: std::vector<mkldnn::primitive> pipelineFwd_; std::vector<mkldnn::primitive> pipelineBwd_; - // MKLDNNMatrixPtr + // MKLDNNMatrixPtr with internal format MKLDNNMatrixPtr inVal_; MKLDNNMatrixPtr inGrad_; MKLDNNMatrixPtr outVal_; @@ -65,6 +68,7 @@ protected: public: explicit MKLDNNLayer(const LayerConfig& config) : Layer(config), + inputElemenCnt_(0), bs_(0), ic_(0), ih_(0), @@ -95,12 +99,93 @@ public: if (!Layer::init(layerMap, parameterMap)) { return false; } + checkCPUOutputsNumber(); stream_.reset(new MKLDNNStream()); engine_ = CPUEngine::Instance().getEngine(); return true; } + void forward(PassType passType) override { + passType_ = passType; + + { + REGISTER_TIMER_INFO("mkldnn_FwdTimer", getName().c_str()); + copySeqInfoToOutputs(); + CHECK(!inputLayers_.empty()); + size_t elemenCnt = inputLayers_[0]->getOutput().value->getElementCnt(); + if (inputElemenCnt_ != elemenCnt) { + inputElemenCnt_ = elemenCnt; + reshape(); + resetFwd(); + convertWeightsFromPaddle(); + needResetBwd_ = true; + } + + if (inputLayers_[0]->getType() == "data") { + updateInputData(); + } + + stream_->submit(pipelineFwd_); + } + + /* activation */ { + REGISTER_TIMER_INFO("FwActTimer", getName().c_str()); + forwardActivation(); + } + } + + void backward(const UpdateCallback& callback) override { + /* Do derivation */ { + REGISTER_TIMER_INFO("BpActTimer", getName().c_str()); + backwardActivation(); + } + + { + REGISTER_TIMER_INFO("mkldnn_bwdTimer", getName().c_str()); + if (needResetBwd_) { + resetBwd(); + needResetBwd_ = false; + } + + stream_->submit(pipelineBwd_); + } + + { + REGISTER_TIMER_INFO("WeightUpdate", getName().c_str()); + updateWeights(callback); + } + } + + /** + * reshape the input image sizes + * and reset output image and buffer size + */ + virtual void reshape() = 0; + + /** + * reset the mkldnn forward primitve and memory + * only would be called when input size changes + */ + virtual void resetFwd() = 0; + + /** + * reset the mkldnn backward primitve and memory for mkldnn fc + * only would be called when needed + */ + virtual void resetBwd() = 0; + + /** + * Update input value data when input layer is "data" type. + * Since the input value data address might be changed. + */ + virtual void updateInputData() {} + + /** + * Update weights and biases if necessary. + */ + virtual void updateWeights(const UpdateCallback& callback) {} + /** * convert weight from paddle format to mkldnn format * weight_ will be override @@ -114,10 +199,38 @@ public: virtual void convertWeightsToPaddle() {} /** - * Update input value data when input layer is "data" type. - * Since the input value data address might be changed. + * add this interface as public for unit test */ - virtual void updateInputData() {} + void addOutputArgument(int deviceId) { Layer::addOutputArgument(deviceId); } + +protected: + /** + * reshape the input image sizes and input batchsize + */ + virtual void reshapeInput() { + const Argument& input = inputLayers_[0]->getOutput(); + bs_ = input.getBatchSize(); + int height = input.getFrameHeight(); + int width = input.getFrameWidth(); + if (height != 0) { + ih_ = height; + } + if (width != 0) { + iw_ = width; + } + } + + /** + * reshape output image sizes + */ + virtual void reshapeOutput(size_t height, size_t width) { + output_.setFrameHeight(height); + output_.setFrameWidth(width); + for (size_t i = 0; i < outputOtherDevice_.size(); i++) { + outputOtherDevice_[i].setFrameHeight(height); + outputOtherDevice_[i].setFrameWidth(width); + } + } /** * print info about sizes @@ -133,8 +246,8 @@ public: */ virtual void printValueFormatFlow() { if (inVal_ && outVal_) { - VLOG(MKLDNN_FMTS) << "value format flow --- " << inVal_->getFormat() - << " >>> " << outVal_->getFormat(); + VLOG(MKLDNN_FMTS) << inVal_->getFormat() << " >>> " + << outVal_->getFormat(); } } @@ -143,36 +256,12 @@ public: */ virtual void printGradFormatFlow() { if (inGrad_ && outGrad_) { - VLOG(MKLDNN_FMTS) << "grad format flow --- " << inGrad_->getFormat() - << " <<< " << outGrad_->getFormat(); + VLOG(MKLDNN_FMTS) << inGrad_->getFormat() << " <<< " + << outGrad_->getFormat(); } } protected: - /** - * copy image size and sequence info to other device - * @note: can not directly use Layer::copyOutputToOtherDevice since here only - * copy base info and do not copy data value - */ - void copyOutputInfoToOtherDevice() { - int cnt = 0; - for (size_t i = 0; i < outputOtherDevice_.size(); i++) { - outputOtherDevice_[i].setFrameHeight(output_.getFrameHeight()); - outputOtherDevice_[i].setFrameWidth(output_.getFrameWidth()); - outputOtherDevice_[i].sequenceStartPositions = - output_.sequenceStartPositions; - outputOtherDevice_[i].subSequenceStartPositions = - output_.subSequenceStartPositions; - outputOtherDevice_[i].cpuSequenceDims = output_.cpuSequenceDims; - if (outputOtherDevice_[i].deviceId == CPU_DEVICE) { - ++cnt; - } - } - if (cnt > 1) { - LOG(WARNING) << "should not have more than one CPU devie"; - } - } - /** * If input only has MKLDNN device. * Otherwise, only support the previous layer using CPU device. @@ -205,6 +294,7 @@ protected: */ void setDevice(int id) { deviceId_ = id; } +private: /** * Set deviceId of the params used in this layer. */ @@ -228,6 +318,42 @@ protected: parameter->setDevice(id); } } + + /** + * Check the cpu device number of outputOtherDevice_. + * should have only one at most. + */ + void checkCPUOutputsNumber(int max = 1) { + int cnt = 0; + for (size_t i = 0; i < outputOtherDevice_.size(); i++) { + if (outputOtherDevice_[i].deviceId == CPU_DEVICE) { + ++cnt; + } + } + CHECK_LE(cnt, max) << "too much CPU devies"; + } + + /** + * copy SeqInfo from input layer to this output and other output devices. + * @note: do not use getInput(0) since it used this deviceId_, + * use "inputLayers_[0]->getOutput()" instead. + */ + void copySeqInfoToOutputs() { + if (inputLayers_.empty() || !needSequenceInfo_) { + return; + } + const Argument& input = inputLayers_[0]->getOutput(); + output_.sequenceStartPositions = input.sequenceStartPositions; + output_.subSequenceStartPositions = input.subSequenceStartPositions; + output_.cpuSequenceDims = input.cpuSequenceDims; + for (size_t i = 0; i < outputOtherDevice_.size(); i++) { + outputOtherDevice_[i].sequenceStartPositions = + output_.sequenceStartPositions; + outputOtherDevice_[i].subSequenceStartPositions = + output_.subSequenceStartPositions; + outputOtherDevice_[i].cpuSequenceDims = output_.cpuSequenceDims; + } + } }; } // namespace paddle From f3bb7b99dddf98b1217e6d906ccbe069e2e1e309 Mon Sep 17 00:00:00 2001 From: tensor-tang <jian.j.tang@intel.com> Date: Mon, 11 Sep 2017 16:24:58 +0800 Subject: [PATCH 50/66] refine MKLDNNTester add UpdateCallback for test --- paddle/gserver/tests/MKLDNNTester.cpp | 77 +++++++++++++++------------ paddle/gserver/tests/MKLDNNTester.h | 12 +++-- 2 files changed, 51 insertions(+), 38 deletions(-) diff --git a/paddle/gserver/tests/MKLDNNTester.cpp b/paddle/gserver/tests/MKLDNNTester.cpp index de1635be2a..11e8527910 100644 --- a/paddle/gserver/tests/MKLDNNTester.cpp +++ b/paddle/gserver/tests/MKLDNNTester.cpp @@ -63,8 +63,12 @@ void MKLDNNTester::reset(const TestConfig& dnn, initTestLayer( configs_[i], &(layerMaps_[i]), &(parameters_[i]), &(testLayers_[i])); } - dnnLayer_ = testLayers_[DNN]; refLayer_ = testLayers_[REF]; + dnnLayer_ = std::dynamic_pointer_cast<MKLDNNLayer>(testLayers_[DNN]); + CHECK(dnnLayer_); + // for comparison with Paddle reference results, + // need manually add cpu device output for test + dnnLayer_->addOutputArgument(-1); EXPECT_EQ(dataLayers_[DNN].size(), dataLayers_[REF].size()); EXPECT_EQ(parameters_[DNN].size(), parameters_[REF].size()); @@ -109,20 +113,21 @@ void MKLDNNTester::randomBotDatas() { void MKLDNNTester::randomTopDiffs() { refLayer_->getOutputGrad()->randomizeUniform(); - dnnLayer_->getOutputGrad()->copyFrom(*(refLayer_->getOutputGrad())); - VLOG(lvl_) << "Random dom Backward Input, TopDiff: "; + dnnLayer_->getOutput(-1).grad->copyFrom(*(refLayer_->getOutputGrad())); + VLOG(lvl_) << "Random Backward Input, TopDiff: "; printMatrix(refLayer_->getOutputGrad()); } void MKLDNNTester::checkForward() { - printTopDatas(); - double delta = compareMatrix(testLayers_[DNN]->getOutputValue(), - testLayers_[REF]->getOutputValue()); VLOG(MKLDNN_ALL) << "Check Forward"; + printTopDatas(); + double delta = compareMatrix(dnnLayer_->getOutput(-1).value, + refLayer_->getOutputValue()); EXPECT_LE(fabs(delta), eps_); } void MKLDNNTester::checkBackwardData() { + VLOG(MKLDNN_ALL) << "Check Backward Data"; // TODO(TJ): uncomment me when batch norm ready // const bool isBN = dnnLayer_->getType() == "mkldnn_batch_norm"; for (size_t i = 0; i < dataLayers_[DNN].size(); ++i) { @@ -144,14 +149,12 @@ void MKLDNNTester::checkBackwardData() { } void MKLDNNTester::checkBackwardWgts() { + VLOG(MKLDNN_ALL) << "Check Backward Weight"; CHECK_EQ(parameters_[DNN].size(), parameters_[REF].size()); vector<VectorPtr> dnnWgts; // used to temply save mkldnn weights saveWgt(parameters_[DNN], dnnWgts); - const MKLDNNLayerPtr dnnlayer = - std::dynamic_pointer_cast<MKLDNNLayer>(dnnLayer_); - CHECK(dnnlayer); - dnnlayer->convertWeightsToPaddle(); + dnnLayer_->convertWeightsToPaddle(); for (size_t i = 0; i < parameters_[DNN].size(); ++i) { const VectorPtr& dnn = parameters_[DNN][i]->getBuf(PARAMETER_VALUE); const VectorPtr& ref = parameters_[REF][i]->getBuf(PARAMETER_VALUE); @@ -189,38 +192,38 @@ void MKLDNNTester::restoreWgt(const vector<VectorPtr>& from, } // clear parameters grad -void MKLDNNTester::clearWgtDiffs() { +void MKLDNNTester::clearWgtDiffs(size_t id) { + CHECK_LE(id, parameters_.size()); for (size_t n = 0; n < parameters_.size(); ++n) { - for (size_t i = 0; i < parameters_[n].size(); ++i) { - const VectorPtr& grad = parameters_[n][i]->getBuf(PARAMETER_GRADIENT); - if (grad) { - grad->zeroMem(); + if (id == n || id == parameters_.size()) { + for (size_t i = 0; i < parameters_[n].size(); ++i) { + const VectorPtr& grad = parameters_[n][i]->getBuf(PARAMETER_GRADIENT); + if (grad) { + grad->zeroMem(); + } } } } } -void MKLDNNTester::clearBotDiffs() { - // dnn and ref +void MKLDNNTester::clearBotDiffs(size_t id) { + CHECK_LE(id, dataLayers_.size()); for (size_t n = 0; n < dataLayers_.size(); ++n) { - // all inputs layers - for (size_t i = 0; i < dataLayers_[n].size(); ++i) { - dataLayers_[n][i]->getOutputGrad()->zeroMem(); + if (id == n || id == dataLayers_.size()) { + // clear inputs layers of this specific layer + for (size_t i = 0; i < dataLayers_[n].size(); ++i) { + dataLayers_[n][i]->getOutputGrad()->zeroMem(); + } } } } -void MKLDNNTester::clearBotDiffs(int n) { - CHECK_LT(n, NUM); - // all inputs layers - for (size_t i = 0; i < dataLayers_[n].size(); ++i) { - dataLayers_[n][i]->getOutputGrad()->zeroMem(); - } -} - -void MKLDNNTester::clearTopDatas() { +void MKLDNNTester::clearTopDatas(size_t id) { + CHECK_LE(id, testLayers_.size()); for (size_t i = 0; i < testLayers_.size(); ++i) { - testLayers_[i]->getOutputValue()->zeroMem(); + if (id == i || id == testLayers_.size()) { + testLayers_[i]->getOutputValue()->zeroMem(); + } } } @@ -300,16 +303,24 @@ void MKLDNNTester::runOnce() { checkForward(); // test backward + // simple updater + UpdateCallback updateCallback = [](Parameter* para) { + auto& grad = para->getBuf(PARAMETER_GRADIENT); + auto& value = para->getBuf(PARAMETER_VALUE); + real lr = 1e-3; + value->add(*grad, lr); + }; randomTopDiffs(); - dnnLayer_->backward(nullptr); - refLayer_->backward(nullptr); + dnnLayer_->backward(updateCallback); + refLayer_->backward(updateCallback); checkBackwardData(); checkBackwardWgts(); // clear buffers // ref code will addto the diff, dnn code will writeto it - // and clearTopDatas() and clearWgtDiffs() should be coverd by test layers + // and clearTopDatas(REF) should be coverd by ref layers clearBotDiffs(REF); + clearWgtDiffs(REF); } void MKLDNNTester::run(const TestConfig& dnn, diff --git a/paddle/gserver/tests/MKLDNNTester.h b/paddle/gserver/tests/MKLDNNTester.h index e55e4493ff..5ac885638c 100644 --- a/paddle/gserver/tests/MKLDNNTester.h +++ b/paddle/gserver/tests/MKLDNNTester.h @@ -18,6 +18,7 @@ limitations under the License. */ #include <vector> #include "LayerGradUtil.h" #include "paddle/gserver/layers/MKLDNNBase.h" +#include "paddle/gserver/layers/MKLDNNLayer.h" namespace paddle { @@ -40,7 +41,8 @@ protected: vector<LayerMap> layerMaps_; vector<vector<ParameterPtr>> parameters_; vector<LayerPtr> testLayers_; - LayerPtr dnnLayer_, refLayer_; + LayerPtr refLayer_; + MKLDNNLayerPtr dnnLayer_; /// run some iterations, all the result should pass size_t iter_; @@ -88,10 +90,10 @@ private: void checkBackwardData(); void checkBackwardWgts(); - void clearWgtDiffs(); - void clearBotDiffs(); - void clearBotDiffs(int n); // clear specific layer - void clearTopDatas(); + // clear specific layer, clear all when id equals NUM + void clearWgtDiffs(size_t id = NUM); + void clearBotDiffs(size_t id = NUM); + void clearTopDatas(size_t id = NUM); void printTopDatas(); void printMatrix(const MatrixPtr& m); From 9d46f443fede2edba2e8041b2b30d9513852820b Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Mon, 11 Sep 2017 16:43:17 +0800 Subject: [PATCH 51/66] fix attr bug in op_test and ensure order in duplicate inputs/outputs --- python/paddle/v2/framework/tests/op_test.py | 34 ++++++++++++------- .../paddle/v2/framework/tests/test_sum_op.py | 2 +- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py index 3a6a5dca4c..1daa6fa277 100644 --- a/python/paddle/v2/framework/tests/op_test.py +++ b/python/paddle/v2/framework/tests/op_test.py @@ -9,7 +9,7 @@ def grad_var_name(var_name): return var_name + "@GRAD" -def create_op(scope, op_type, inputs, outputs, attrs=None): +def create_op(scope, op_type, inputs, outputs, attrs): kwargs = dict() for in_name, in_dup in Operator.get_op_inputs(op_type): @@ -17,7 +17,7 @@ def create_op(scope, op_type, inputs, outputs, attrs=None): kwargs[in_name] = [] if in_dup: sub_in = inputs[in_name] - for sub_in_name in sub_in: + for sub_in_name, arr in sub_in: var = scope.new_var(sub_in_name) kwargs[in_name].append(sub_in_name) else: @@ -29,15 +29,16 @@ def create_op(scope, op_type, inputs, outputs, attrs=None): kwargs[out_name] = [] if out_dup: sub_in = outputs[out_name] - for sun_in_name in sub_in: - var = scope.new_var(sun_in_name) - kwargs[out_name].append(sun_in_name) + for sub_in_name, arr in sub_in: + var = scope.new_var(sub_in_name) + kwargs[out_name].append(sub_in_name) else: var = scope.new_var(out_name) kwargs[out_name].append(out_name) for attr_name in Operator.get_op_attr_names(op_type): - kwargs[attr_name] = attrs[attr_name] + if attr_name in attrs: + kwargs[attr_name] = attrs[attr_name] return Operator(op_type, **kwargs) @@ -46,10 +47,9 @@ def set_input(scope, op, inputs, place): if in_name in inputs: if in_dup: sub_in = inputs[in_name] - for sub_in_name in sub_in: + for sub_in_name, arr in sub_in: var = scope.find_var(sub_in_name) tensor = var.get_tensor() - arr = sub_in[sub_in_name] tensor.set_dims(arr.shape) tensor.set(arr, place) else: @@ -65,7 +65,7 @@ def set_output_grad(scope, op, outputs, place): if out_name in outputs: if out_dup: sub_out = outputs[out_name] - for sub_out_name in sub_out: + for sub_out_name, arr in sub_out: out_tensor = scope.find_var(sub_out_name).get_tensor() grad_tensor = scope.new_var(grad_var_name( sub_out_name)).get_tensor() @@ -110,7 +110,7 @@ def get_numeric_gradient(scope, # we use a for loop to compute the gradient of every element. for i in xrange(tensor_size): if in_place: - set_input(op, inputs, core.CPUPlace()) + set_input(scope, op, inputs, core.CPUPlace()) # get one input element throw it's index i. origin = tensor_to_check.get_float_element(i) @@ -120,7 +120,7 @@ def get_numeric_gradient(scope, y_pos = get_output() if in_place: - set_input(op, inputs, core.CPUPlace()) + set_input(scope, op, inputs, core.CPUPlace()) x_neg = origin - delta tensor_to_check.set_float_element(i, x_neg) @@ -168,7 +168,11 @@ def get_gradient(scope, op, inputs, outputs, grad_name, place, class OpTest(unittest.TestCase): def check_output_with_place(self, place): self.scope = core.Scope() - self.op = create_op(self.scope, self.op_type, self.inputs, self.outputs) + op_inputs = self.inputs if hasattr(self, "inputs") else dict() + op_outputs = self.outputs if hasattr(self, "outputs") else dict() + op_attrs = self.attrs if hasattr(self, "attrs") else dict() + self.op = create_op(self.scope, self.op_type, op_inputs, op_outputs, + op_attrs) if isinstance(place, core.GPUPlace) and not self.op.support_gpu(): return set_input(self.scope, self.op, self.inputs, place) @@ -227,7 +231,11 @@ class OpTest(unittest.TestCase): in_place=False, max_relative_error=0.005): self.scope = core.Scope() - self.op = create_op(self.scope, self.op_type, self.inputs, self.outputs) + op_inputs = self.inputs if hasattr(self, "inputs") else dict() + op_outputs = self.outputs if hasattr(self, "outputs") else dict() + op_attrs = self.attrs if hasattr(self, "attrs") else dict() + self.op = create_op(self.scope, self.op_type, op_inputs, op_outputs, + op_attrs) if no_grad_set is None: no_grad_set = set() diff --git a/python/paddle/v2/framework/tests/test_sum_op.py b/python/paddle/v2/framework/tests/test_sum_op.py index 66417d70e8..2ad1cc2610 100644 --- a/python/paddle/v2/framework/tests/test_sum_op.py +++ b/python/paddle/v2/framework/tests/test_sum_op.py @@ -9,7 +9,7 @@ class TestSumOp(OpTest): x0 = np.random.random((3, 4)).astype('float32') x1 = np.random.random((3, 4)).astype('float32') x2 = np.random.random((3, 4)).astype('float32') - self.inputs = {"X": {"x0": x0, "x1": x1, "x2": x2}} + self.inputs = {"X": [("x0", x0), ("x1", x1), ("x2", x2)]} y = x0 + x1 + x2 self.outputs = {'Out': y} From 1eb18c5715c845f64ac70b770f053c90bcbb272c Mon Sep 17 00:00:00 2001 From: Luo Tao <luotao02@baidu.com> Date: Mon, 11 Sep 2017 16:48:31 +0800 Subject: [PATCH 52/66] update write_docs_cn.rst --- doc/howto/dev/write_docs_cn.rst | 64 +++++++++++++-------------------- 1 file changed, 25 insertions(+), 39 deletions(-) diff --git a/doc/howto/dev/write_docs_cn.rst b/doc/howto/dev/write_docs_cn.rst index 36e5d420c9..731a63f945 100644 --- a/doc/howto/dev/write_docs_cn.rst +++ b/doc/howto/dev/write_docs_cn.rst @@ -5,15 +5,13 @@ PaddlePaddle的文档包括英文文档 ``doc`` 和中文文档 ``doc_cn`` 两个部分。文档都是通过 `cmake`_ 驱动 `sphinx`_ 编译生成,生成后的文档分别存储在编译目录的 ``doc`` 和 ``doc_cn`` 两个子目录下。 -如何构建PaddlePaddle的文档 -========================== +如何构建文档 +============ -PaddlePaddle的文档构建有直接构建和基于Docker构建两种方式,我们提供了一个构建脚本build_docs.sh来进行构建。 -PaddlePaddle文档需要准备的环境相对较复杂,所以我们推荐使用基于Docker来构建PaddlePaddle的文档。 +PaddlePaddle的文档构建有两种方式。 - -使用Docker构建PaddlePaddle的文档 --------------------------------- +使用Docker构建 +-------------- 使用Docker构建PaddlePaddle的文档,需要在系统里先安装好Docker工具包。Docker安装请参考 `Docker的官网 <https://docs.docker.com/>`_ 。安装好Docker之后可以使用源码目录下的脚本构建文档,即 @@ -21,58 +19,46 @@ PaddlePaddle文档需要准备的环境相对较复杂,所以我们推荐使 cd TO_YOUR_PADDLE_CLONE_PATH cd paddle/scripts/tools/build_docs - bash build_docs.sh with_docker - -编译完成后,会在当前目录生成两个子目录\: - -* doc 英文文档目录 -* doc_cn 中文文档目录 + sh build_docs.sh +编译完成之后,会在当前目录生成两个子目录\: doc(英文文档目录)和 doc_cn(中文文档目录)。 打开浏览器访问对应目录下的index.html即可访问本地文档。 - - -直接构建PaddlePaddle的文档 --------------------------- - -因为PaddlePaddle的v2 api文档生成过程依赖于py_paddle Python包,用户需要首先确认py_paddle包已经安装。 - -.. code-block:: bash - - python -c "import py_paddle" - -如果提示错误,那么用户需要在本地编译安装PaddlePaddle,请参考 `源码编译文档 <http://doc.paddlepaddle.org/develop/doc/getstarted/build_and_install/build_from_source_en.html>`_ 。 -注意,用户在首次编译安装PaddlePaddle时,请将WITH_DOC选项关闭。在编译安装正确之后,请再次确认py_paddle包已经安装,即可进行下一步操作。 +直接构建 +-------- 如果提示正确,可以执行以下命令编译生成文档,即 .. code-block:: bash cd TO_YOUR_PADDLE_CLONE_PATH - cd paddle/scripts/tools/build_docs - bash build_docs.sh local - -编译完成之后,会在当前目录生成两个子目录\: - -* doc 英文文档目录 -* doc_cn 中文文档目录 + mkdir -p build + cd build + cmake .. -DCMAKE_BUILD_TYPE=Debug -DWITH_GPU=OFF -DWITH_MKLDNN=OFF -DWITH_MKLML=OFF -DWITH_DOC=ON + make gen_proto_py + make paddle_docs paddle_docs_cn +编译完成之后,会在当前目录生成两个子目录\: doc(英文文档目录)和 doc_cn(中文文档目录)。 打开浏览器访问对应目录下的index.html即可访问本地文档。 -如何书写PaddlePaddle的文档 -========================== +如何书写文档 +============ PaddlePaddle文档使用 `sphinx`_ 自动生成,用户可以参考sphinx教程进行书写。 -如何更新www.paddlepaddle.org文档 -================================ +如何更新文档主题 +================ + +PaddlePaddle文档主题在 `TO_YOUR_PADDLE_CLONE_PATH/doc_theme` 文件夹下,包含所有和前端网页设计相关的文件。 -开发者给PaddlePaddle代码增加的注释以PR的形式提交到github中,提交方式可参见 `贡献文档 <http://doc.paddlepaddle.org/develop/doc_cn/howto/dev/contribute_to_paddle_cn.html>`_ 。 +如何更新doc.paddlepaddle.org +============================ + +更新的文档以PR的形式提交到github中,提交方式参见 `贡献文档 <http://doc.paddlepaddle.org/develop/doc_cn/howto/dev/contribute_to_paddle_cn.html>`_ 。 目前PaddlePaddle的develop分支的文档是自动触发更新的,用户可以分别查看最新的 `中文文档 <http://doc.paddlepaddle.org/develop/doc_cn/>`_ 和 `英文文档 <http://doc.paddlepaddle.org/develop/doc/>`_ 。 - .. _cmake: https://cmake.org/ .. _sphinx: http://www.sphinx-doc.org/en/1.4.8/ From 76a70d10db35a812654d3d2b2351b1ce867d511d Mon Sep 17 00:00:00 2001 From: Yancey1989 <yancey1989@gmail.com> Date: Mon, 11 Sep 2017 17:27:49 +0800 Subject: [PATCH 53/66] fix unit test error --- python/paddle/v2/framework/tests/gradient_checker.py | 4 ++-- python/paddle/v2/framework/tests/op_test_util.py | 10 +++------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/python/paddle/v2/framework/tests/gradient_checker.py b/python/paddle/v2/framework/tests/gradient_checker.py index 51a98284bd..ed838b5979 100644 --- a/python/paddle/v2/framework/tests/gradient_checker.py +++ b/python/paddle/v2/framework/tests/gradient_checker.py @@ -11,9 +11,9 @@ __all__ = ['get_numeric_gradient'] def create_op(op_type): # TODO need to set attrs kwargs = dict() - for in_name, _ in Operator.get_op_input_names(op_type): + for in_name in Operator.get_op_input_names(op_type): kwargs[in_name] = in_name - for out_name, _ in Operator.get_op_output_names(op_type): + for out_name in Operator.get_op_output_names(op_type): kwargs[out_name] = out_name return Operator(op_type, **kwargs) diff --git a/python/paddle/v2/framework/tests/op_test_util.py b/python/paddle/v2/framework/tests/op_test_util.py index 54fe5da440..99a114e45f 100644 --- a/python/paddle/v2/framework/tests/op_test_util.py +++ b/python/paddle/v2/framework/tests/op_test_util.py @@ -27,9 +27,7 @@ class OpTestMeta(type): places.append(core.GPUPlace(0)) for place in places: - for ins in Operator.get_op_input_names(self.type): - in_name = ins[0] - in_dup = ins[1] + for in_name, in_dup in Operator.get_op_inputs(self.type): if hasattr(self, 'inputs') and in_name in self.inputs: kwargs[in_name] = [] if in_dup: @@ -49,8 +47,7 @@ class OpTestMeta(type): else: kwargs[in_name] = "@EMPTY@" - for out_name, out_dup in Operator.get_op_output_names( - self.type): + for out_name, out_dup in Operator.get_op_outputs(self.type): if not hasattr(self, "outputs"): raise ValueError( "The test op must set self.outputs dict.") @@ -73,8 +70,7 @@ class OpTestMeta(type): ctx = core.DeviceContext.create(place) op.run(scope, ctx) - for out_name, out_dup in Operator.get_op_output_names( - self.type): + for out_name, out_dup in Operator.get_op_outputs(self.type): actual = numpy.array(scope.find_var(out_name).get_tensor()) expect = self.outputs[out_name] self.assertTrue( From 477b23c3f5c123b446cec48321105e1a471c1212 Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Mon, 11 Sep 2017 18:37:19 +0800 Subject: [PATCH 54/66] follow comments --- python/paddle/v2/framework/tests/op_test.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py index 1daa6fa277..489358ba85 100644 --- a/python/paddle/v2/framework/tests/op_test.py +++ b/python/paddle/v2/framework/tests/op_test.py @@ -17,7 +17,7 @@ def create_op(scope, op_type, inputs, outputs, attrs): kwargs[in_name] = [] if in_dup: sub_in = inputs[in_name] - for sub_in_name, arr in sub_in: + for sub_in_name, _ in sub_in: var = scope.new_var(sub_in_name) kwargs[in_name].append(sub_in_name) else: @@ -29,7 +29,7 @@ def create_op(scope, op_type, inputs, outputs, attrs): kwargs[out_name] = [] if out_dup: sub_in = outputs[out_name] - for sub_in_name, arr in sub_in: + for sub_in_name, _ in sub_in: var = scope.new_var(sub_in_name) kwargs[out_name].append(sub_in_name) else: @@ -47,11 +47,11 @@ def set_input(scope, op, inputs, place): if in_name in inputs: if in_dup: sub_in = inputs[in_name] - for sub_in_name, arr in sub_in: + for sub_in_name, sub_in_array in sub_in: var = scope.find_var(sub_in_name) tensor = var.get_tensor() - tensor.set_dims(arr.shape) - tensor.set(arr, place) + tensor.set_dims(sub_in_array.shape) + tensor.set(sub_in_array, place) else: var = scope.find_var(in_name) tensor = var.get_tensor() @@ -65,7 +65,7 @@ def set_output_grad(scope, op, outputs, place): if out_name in outputs: if out_dup: sub_out = outputs[out_name] - for sub_out_name, arr in sub_out: + for sub_out_name, sub_out_grad in sub_out: out_tensor = scope.find_var(sub_out_name).get_tensor() grad_tensor = scope.new_var(grad_var_name( sub_out_name)).get_tensor() @@ -169,9 +169,8 @@ class OpTest(unittest.TestCase): def check_output_with_place(self, place): self.scope = core.Scope() op_inputs = self.inputs if hasattr(self, "inputs") else dict() - op_outputs = self.outputs if hasattr(self, "outputs") else dict() op_attrs = self.attrs if hasattr(self, "attrs") else dict() - self.op = create_op(self.scope, self.op_type, op_inputs, op_outputs, + self.op = create_op(self.scope, self.op_type, op_inputs, self.outputs, op_attrs) if isinstance(place, core.GPUPlace) and not self.op.support_gpu(): return @@ -232,9 +231,8 @@ class OpTest(unittest.TestCase): max_relative_error=0.005): self.scope = core.Scope() op_inputs = self.inputs if hasattr(self, "inputs") else dict() - op_outputs = self.outputs if hasattr(self, "outputs") else dict() op_attrs = self.attrs if hasattr(self, "attrs") else dict() - self.op = create_op(self.scope, self.op_type, op_inputs, op_outputs, + self.op = create_op(self.scope, self.op_type, op_inputs, self.outputs, op_attrs) if no_grad_set is None: no_grad_set = set() From 68943f59aa58b3f4f18c7647305dcc3683c17b7a Mon Sep 17 00:00:00 2001 From: dangqingqing <dangqingqing@baidu.com> Date: Mon, 11 Sep 2017 18:38:07 +0800 Subject: [PATCH 55/66] Add construction function for LoDTensor in pybind. --- paddle/pybind/pybind.cc | 15 +++- .../paddle/v2/framework/tests/test_tensor.py | 89 ++++++++++++------- 2 files changed, 69 insertions(+), 35 deletions(-) diff --git a/paddle/pybind/pybind.cc b/paddle/pybind/pybind.cc index 12eb14cf20..fe4af2c99e 100644 --- a/paddle/pybind/pybind.cc +++ b/paddle/pybind/pybind.cc @@ -125,10 +125,23 @@ The tensor and LoD info should be created before creating the LoDTensor, then call the set_tensor and set_lod functions to set them. )DOC") + .def("__init__", + [](LoDTensor &instance, + const std::vector<std::vector<size_t>> &lod, + Tensor *t) { +#ifdef PADDLE_ONLY_CPU + new (&instance) LoDTensor(lod, t); +#else + paddle::framework::LoD new_lod; + new_lod.reserve(lod.size()); + std::copy(lod.begin(), lod.end(), std::back_inserter(new_lod)); + new (&instance) LoDTensor(new_lod, t); +#endif + }) .def("set_tensor", [](LoDTensor &self, Tensor *tensor) { self.set_tensor(tensor); }) .def("set_lod", - [](LoDTensor &self, std::vector<std::vector<size_t>> &lod) { + [](LoDTensor &self, const std::vector<std::vector<size_t>> &lod) { #ifdef PADDLE_ONLY_CPU self.set_lod(lod); #else diff --git a/python/paddle/v2/framework/tests/test_tensor.py b/python/paddle/v2/framework/tests/test_tensor.py index 1bfe1370e2..f26ed4964c 100644 --- a/python/paddle/v2/framework/tests/test_tensor.py +++ b/python/paddle/v2/framework/tests/test_tensor.py @@ -44,61 +44,82 @@ class TestTensor(unittest.TestCase): self.assertAlmostEqual(2.0, tensor_array_2[19, 11]) def test_int_lod_tensor(self): - scope = core.Scope() - var = scope.new_var("test_tensor") - var_lod = scope.new_var("test_lod_tensor") - place = core.CPUPlace() + places = [core.CPUPlace(), core.GPUPlace(0)] + for place in places: + scope = core.Scope() + var = scope.new_var("test_tensor") + var_lod = scope.new_var("test_lod_tensor") - tensor = var.get_tensor() - lod_tensor = var_lod.get_lod_tensor() + tensor = var.get_tensor() + lod_tensor = var_lod.get_lod_tensor() - tensor.set_dims([4, 4, 6]) - tensor.alloc_int(place) - array = numpy.array(tensor) - array[0, 0, 0] = 3 - array[3, 3, 5] = 10 - tensor.set(array, place) + tensor.set_dims([4, 4, 6]) + tensor.alloc_int(place) + array = numpy.array(tensor) + array[0, 0, 0] = 3 + array[3, 3, 5] = 10 + tensor.set(array, place) - lod_tensor.set_tensor(tensor) - lod_tensor.set_lod([[0, 2, 4]]) + lod_tensor.set_tensor(tensor) + lod_tensor.set_lod([[0, 2, 4]]) - lod_v = numpy.array(lod_tensor.tensor()) - self.assertTrue(numpy.alltrue(array == lod_v)) + lod_v = numpy.array(lod_tensor.tensor()) + self.assertTrue(numpy.alltrue(array == lod_v)) - lod = lod_tensor.lod() - self.assertEqual(0, lod[0][0]) - self.assertEqual(2, lod[0][1]) - self.assertEqual(4, lod[0][2]) + lod = lod_tensor.lod() + self.assertEqual(0, lod[0][0]) + self.assertEqual(2, lod[0][1]) + self.assertEqual(4, lod[0][2]) def test_float_lod_tensor(self): + places = [core.CPUPlace(), core.GPUPlace(0)] + for place in places: + scope = core.Scope() + var = scope.new_var("test_tensor") + var_lod = scope.new_var("test_lod_tensor") + + tensor = var.get_tensor() + lod_tensor = var_lod.get_lod_tensor() + + tensor.set_dims([5, 2, 3, 4]) + tensor.alloc_float(place) + + tensor_array = numpy.array(tensor) + self.assertEqual((5, 2, 3, 4), tensor_array.shape) + tensor_array[0, 0, 0, 0] = 1.0 + tensor_array[0, 0, 0, 1] = 2.0 + tensor.set(tensor_array, place) + + lod_tensor.set_tensor(tensor) + + lod_v = numpy.array(lod_tensor.tensor()) + self.assertAlmostEqual(1.0, lod_v[0, 0, 0, 0]) + self.assertAlmostEqual(2.0, lod_v[0, 0, 0, 1]) + self.assertEqual(len(lod_tensor.lod()), 0) + + lod_py = [[0, 2, 5], [0, 2, 4, 5]] + lod_tensor.set_lod(lod_py) + lod = lod_tensor.lod() + self.assertListEqual(lod_py, lod) + + def test_lod_tensor_init(self): scope = core.Scope() var = scope.new_var("test_tensor") - var_lod = scope.new_var("test_lod_tensor") place = core.CPUPlace() - tensor = var.get_tensor() - lod_tensor = var_lod.get_lod_tensor() - tensor.set_dims([5, 2, 3, 4]) tensor.alloc_float(place) - tensor_array = numpy.array(tensor) - self.assertEqual((5, 2, 3, 4), tensor_array.shape) tensor_array[0, 0, 0, 0] = 1.0 tensor_array[0, 0, 0, 1] = 2.0 tensor.set(tensor_array, place) + lod_py = [[0, 2, 5], [0, 2, 4, 5]] - lod_tensor.set_tensor(tensor) - + lod_tensor = core.LoDTensor(lod_py, tensor) lod_v = numpy.array(lod_tensor.tensor()) self.assertAlmostEqual(1.0, lod_v[0, 0, 0, 0]) self.assertAlmostEqual(2.0, lod_v[0, 0, 0, 1]) - self.assertEqual(len(lod_tensor.lod()), 0) - - lod_py = [[0, 2, 5], [0, 2, 4, 5]] - lod_tensor.set_lod(lod_py) - lod = lod_tensor.lod() - self.assertListEqual(lod_py, lod) + self.assertListEqual(lod_py, lod_tensor.lod()) if __name__ == '__main__': From e9a1f2ad8b2c1e78d0f3fcb50d2e026030bfcb03 Mon Sep 17 00:00:00 2001 From: chengduoZH <zhaochengduo@163.com> Date: Mon, 11 Sep 2017 17:51:09 +0800 Subject: [PATCH 56/66] fix DeConv3D switch(imgSize*_, output*_) --- paddle/gserver/layers/DeConv3DLayer.cpp | 40 ++++++++++++------------- paddle/gserver/tests/test_LayerGrad.cpp | 33 ++++++++++---------- 2 files changed, 37 insertions(+), 36 deletions(-) diff --git a/paddle/gserver/layers/DeConv3DLayer.cpp b/paddle/gserver/layers/DeConv3DLayer.cpp index 1b59ed60c5..3eea638649 100644 --- a/paddle/gserver/layers/DeConv3DLayer.cpp +++ b/paddle/gserver/layers/DeConv3DLayer.cpp @@ -53,27 +53,27 @@ bool DeConv3DLayer::init(const LayerMap &layerMap, size_t DeConv3DLayer::getSize() { CHECK_NE(inputLayers_.size(), 0UL); - outputH_.clear(); - outputW_.clear(); - outputD_.clear(); + imgSizeW_.clear(); + imgSizeH_.clear(); + imgSizeD_.clear(); N_.clear(); NOut_.clear(); size_t layerSize = 0; for (size_t i = 0; i < inputLayers_.size(); ++i) { - outputW_.push_back( - imageSize(imgSizeW_[i], filterSize_[i], padding_[i], stride_[i], true)); - outputH_.push_back(imageSize( - imgSizeH_[i], filterSizeY_[i], paddingY_[i], strideY_[i], true)); - outputD_.push_back(imageSize( - imgSizeD_[i], filterSizeZ_[i], paddingZ_[i], strideZ_[i], true)); - NOut_.push_back(outputD_[i] * outputH_[i] * outputW_[i]); - N_.push_back(imgSizeD_[i] * imgSizeH_[i] * imgSizeW_[i]); + imgSizeW_.push_back( + imageSize(outputW_[i], filterSize_[i], padding_[i], stride_[i], true)); + imgSizeH_.push_back(imageSize( + outputH_[i], filterSizeY_[i], paddingY_[i], strideY_[i], true)); + imgSizeD_.push_back(imageSize( + outputD_[i], filterSizeZ_[i], paddingZ_[i], strideZ_[i], true)); + NOut_.push_back(imgSizeD_[i] * imgSizeH_[i] * imgSizeW_[i]); + N_.push_back(outputD_[i] * outputH_[i] * outputW_[i]); CHECK(layerSize == 0 || N_[i] * size_t(numFilters_) == layerSize); layerSize += NOut_[i] * numFilters_; } - getOutput().setFrameHeight(outputH_[0]); - getOutput().setFrameWidth(outputW_[0]); - getOutput().setFrameDepth(outputD_[0]); + getOutput().setFrameHeight(imgSizeH_[0]); + getOutput().setFrameWidth(imgSizeW_[0]); + getOutput().setFrameDepth(imgSizeD_[0]); return layerSize; } @@ -103,9 +103,9 @@ void DeConv3DLayer::forward(PassType passType) { } colBuf_->col2Vol(outMat->getData() + n * outMat->getStride(), numFilters_, - outputD_[i], - outputH_[i], - outputW_[i], + imgSizeD_[i], + imgSizeH_[i], + imgSizeW_[i], filterSizeZ_[i], filterSizeY_[i], filterSize_[i], @@ -144,9 +144,9 @@ void DeConv3DLayer::backward(const UpdateCallback &callback) { colBuf_->vol2Col( getOutputGrad()->getData() + n * getOutputGrad()->getStride(), numFilters_, - outputD_[i], - outputH_[i], - outputW_[i], + imgSizeD_[i], + imgSizeH_[i], + imgSizeW_[i], filterSizeZ_[i], filterSizeY_[i], filterSize_[i], diff --git a/paddle/gserver/tests/test_LayerGrad.cpp b/paddle/gserver/tests/test_LayerGrad.cpp index 0e6be2df9e..090bde7b20 100644 --- a/paddle/gserver/tests/test_LayerGrad.cpp +++ b/paddle/gserver/tests/test_LayerGrad.cpp @@ -2302,26 +2302,27 @@ void test3DDeConvLayer(const string& type, bool trans, bool useGpu) { conv->set_stride(2); conv->set_stride_y(2); conv->set_stride_z(2); - conv->set_img_size(IMAGE_SIZE); - conv->set_img_size_y(IMAGE_SIZE_Y); - conv->set_img_size_z(IMAGE_SIZE_Z); - conv->set_output_x(imageSize(conv->img_size(), + conv->set_output_x(IMAGE_SIZE); + conv->set_output_y(IMAGE_SIZE_Y); + conv->set_output_z(IMAGE_SIZE_Z); + + conv->set_img_size(imageSize(conv->output_x(), conv->filter_size(), conv->padding(), conv->stride(), true)); - conv->set_output_y(imageSize(conv->img_size_y(), - conv->filter_size_y(), - conv->padding_y(), - conv->stride_y(), - true)); - conv->set_output_z(imageSize(conv->img_size_z(), - conv->filter_size_z(), - conv->padding_z(), - conv->stride_z(), - true)); - config.layerConfig.set_size(conv->output_x() * conv->output_y() * - conv->output_z() * NUM_FILTERS); + conv->set_img_size_y(imageSize(conv->output_y(), + conv->filter_size_y(), + conv->padding_y(), + conv->stride_y(), + true)); + conv->set_img_size_z(imageSize(conv->output_z(), + conv->filter_size_z(), + conv->padding_z(), + conv->stride_z(), + true)); + config.layerConfig.set_size(conv->img_size() * conv->img_size_y() * + conv->img_size_z() * NUM_FILTERS); conv->set_groups(1); conv->set_filter_channels(conv->channels() / conv->groups()); config.inputDefs.push_back( From a3ec652110291c539eca9234561f2ca433fbe2a1 Mon Sep 17 00:00:00 2001 From: qijun <qijun1994@hotmail.com> Date: Mon, 11 Sep 2017 21:39:43 +0800 Subject: [PATCH 57/66] fix bug --- python/paddle/v2/framework/tests/op_test.py | 1 - python/paddle/v2/framework/tests/test_softmax_op.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/python/paddle/v2/framework/tests/op_test.py b/python/paddle/v2/framework/tests/op_test.py index ddeb2aabc6..4fec4c9109 100644 --- a/python/paddle/v2/framework/tests/op_test.py +++ b/python/paddle/v2/framework/tests/op_test.py @@ -89,7 +89,6 @@ def get_numeric_gradient(scope, delta=0.005, in_place=False): - print "before set input" set_input(scope, op, inputs, core.CPUPlace()) op.infer_shape(scope) diff --git a/python/paddle/v2/framework/tests/test_softmax_op.py b/python/paddle/v2/framework/tests/test_softmax_op.py index 1c5802dfd5..1b948f252f 100644 --- a/python/paddle/v2/framework/tests/test_softmax_op.py +++ b/python/paddle/v2/framework/tests/test_softmax_op.py @@ -12,7 +12,7 @@ def stable_softmax(x): class TestSoftmaxOp(OpTest): def setUp(self): - self.type = "softmax" + self.op_type = "softmax" self.inputs = { 'X': np.random.uniform(0.1, 1, [10, 10]).astype("float32") } From 4f0869bef36a349506467160b67596ac251bf78b Mon Sep 17 00:00:00 2001 From: tensor-tang <jian.j.tang@intel.com> Date: Mon, 11 Sep 2017 22:28:41 +0800 Subject: [PATCH 58/66] add some necessary params for reset functions --- paddle/gserver/layers/MKLDNNFcLayer.cpp | 135 +++++++++++++----------- paddle/gserver/layers/MKLDNNFcLayer.h | 19 +++- paddle/gserver/layers/MKLDNNLayer.h | 41 ++++--- 3 files changed, 111 insertions(+), 84 deletions(-) diff --git a/paddle/gserver/layers/MKLDNNFcLayer.cpp b/paddle/gserver/layers/MKLDNNFcLayer.cpp index a47967b3d3..f70343251a 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.cpp +++ b/paddle/gserver/layers/MKLDNNFcLayer.cpp @@ -78,46 +78,52 @@ void MKLDNNFcLayer::convertWeightsToPaddle() { wgtVal_->reorderDataTo(wgtVal_, dstFmt, targetDim); } -void MKLDNNFcLayer::reshape() { - reshapeInput(); +void MKLDNNFcLayer::reshape( + int& bs, int& ic, int& ih, int& iw, int oc, int& oh, int& ow) { + reshapeInput(bs, ih, iw); CHECK_EQ(iLayerSize_, inputLayers_[0]->getSize()); - ic_ = iLayerSize_ / (ih_ * iw_); - CHECK_EQ(size_t(ic_ * ih_ * iw_), iLayerSize_) << "not divisible"; - CHECK_EQ(size_t(oc_), getSize()); + ic = iLayerSize_ / (ih * iw); + CHECK_EQ(size_t(ic * ih * iw), iLayerSize_) << "not divisible"; + CHECK_EQ(size_t(oc), getSize()); - reshapeOutput(oh_, ow_); - resizeOutput(bs_, oc_); + reshapeOutput(oh, ow); + resizeOutput(bs, oc); printSizeInfo(); } -void MKLDNNFcLayer::resetFwd() { +void MKLDNNFcLayer::resetFwd(std::vector<mkldnn::primitive>& pipeline, + MKLDNNMatrixPtr& in, + MKLDNNMatrixPtr& wgt, + MKLDNNMatrixPtr& bias, + MKLDNNMatrixPtr& out) { + pipeline.clear(); bool hasBias = biases_ && biases_->getW(); - const MatrixPtr& wgt = weight_->getW(); - const MatrixPtr& bias = hasBias ? biases_->getW() : nullptr; - const MatrixPtr& out = output_.value; + const MatrixPtr& wgtVal = weight_->getW(); + const MatrixPtr& biasVal = hasBias ? biases_->getW() : nullptr; + const MatrixPtr& outVal = output_.value; if (inputIsOnlyMKLDNN()) { - const MatrixPtr& in = getInputValue(0); - inVal_ = std::dynamic_pointer_cast<MKLDNNMatrix>(in); - CHECK(inVal_) << "Input should be MKLDNNMatrix"; + const MatrixPtr& inVal = getInputValue(0); + in = std::dynamic_pointer_cast<MKLDNNMatrix>(inVal); + CHECK(in) << "Input should be MKLDNNMatrix"; } else { CHECK_EQ(getPrev(0)->getDeviceId(), CPU_DEVICE) << "Only support CPU yet"; - const MatrixPtr& in = getInputValue(0, CPU_DEVICE); - inVal_ = MKLDNNMatrix::create( - in, memory::dims{bs_, ic_, ih_, iw_}, format::nchw, engine_); + const MatrixPtr& inVal = getInputValue(0, CPU_DEVICE); + in = MKLDNNMatrix::create( + inVal, memory::dims{bs_, ic_, ih_, iw_}, format::nchw, engine_); } - inVal_->downSpatial(); - wgtVal_ = MKLDNNMatrix::create( - wgt, memory::dims{oc_, ic_, ih_, iw_}, format::oihw, engine_); - wgtVal_->downSpatial(); - biasVal_ = - hasBias ? MKLDNNMatrix::create(bias, {oc_}, format::x, engine_) : nullptr; - outVal_ = MKLDNNMatrix::create(out, {bs_, oc_}, format::nc, engine_); + in->downSpatial(); + wgt = MKLDNNMatrix::create( + wgtVal, memory::dims{oc_, ic_, ih_, iw_}, format::oihw, engine_); + wgt->downSpatial(); + bias = hasBias ? MKLDNNMatrix::create(biasVal, {oc_}, format::x, engine_) + : nullptr; + out = MKLDNNMatrix::create(outVal, {bs_, oc_}, format::nc, engine_); // change original output value to mkldnn output value - output_.value = std::dynamic_pointer_cast<Matrix>(outVal_); + output_.value = std::dynamic_pointer_cast<Matrix>(out); if (!outputIsOnlyMKLDNN()) { // fc cpu output value do not need create convert // just share point @@ -127,27 +133,31 @@ void MKLDNNFcLayer::resetFwd() { // create forward handle prop_kind pk = prop_kind::forward; fc_fwd::desc fwdDesc = hasBias ? fc_fwd::desc(pk, - inVal_->getMemoryDesc(), - wgtVal_->getMemoryDesc(), - biasVal_->getMemoryDesc(), - outVal_->getMemoryDesc()) + in->getMemoryDesc(), + wgt->getMemoryDesc(), + bias->getMemoryDesc(), + out->getMemoryDesc()) : fc_fwd::desc(pk, - inVal_->getMemoryDesc(), - wgtVal_->getMemoryDesc(), - outVal_->getMemoryDesc()); + in->getMemoryDesc(), + wgt->getMemoryDesc(), + out->getMemoryDesc()); fc_fwd::primitive_desc fwdPD = fc_fwd::primitive_desc(fwdDesc, engine_); if (hasBias) { - fwd_.reset(new fc_fwd(fwdPD, *inVal_, *wgtVal_, *biasVal_, *outVal_)); + fwd_.reset(new fc_fwd(fwdPD, *in, *wgt, *bias, *out)); } else { - fwd_.reset(new fc_fwd(fwdPD, *inVal_, *wgtVal_, *outVal_)); + fwd_.reset(new fc_fwd(fwdPD, *in, *wgt, *out)); } printValueFormatFlow(); - pipelineFwd_.clear(); - pipelineFwd_.push_back(*fwd_); + pipeline.push_back(*fwd_); } -void MKLDNNFcLayer::resetBwd() { +void MKLDNNFcLayer::resetBwd(std::vector<mkldnn::primitive>& pipeline, + MKLDNNMatrixPtr& in, + MKLDNNMatrixPtr& wgt, + MKLDNNMatrixPtr& bias, + MKLDNNMatrixPtr& out) { + pipeline.clear(); if (!needResetBwd_) { return; } @@ -156,8 +166,8 @@ void MKLDNNFcLayer::resetBwd() { /// backward weight CHECK(inVal_) << "Should have input value"; - const MatrixPtr& wgt = weight_->getWGrad(); - const MatrixPtr& bias = hasBias ? biases_->getWGrad() : nullptr; + const MatrixPtr& wgtGrad = weight_->getWGrad(); + const MatrixPtr& biasGrad = hasBias ? biases_->getWGrad() : nullptr; // TODO(TJ): merge outgrad int device = outputIsOnlyMKLDNN() ? MKLDNN_DEVICE : CPU_DEVICE; @@ -168,59 +178,56 @@ void MKLDNNFcLayer::resetBwd() { // for CPU device: // fc do not need to convert from cpu device since output is always nc format // only need create from cpu device - const MatrixPtr& out = getOutput(device).grad; - outGrad_ = MKLDNNMatrix::create(out, outVal_->getPrimitiveDesc()); - wgtGrad_ = MKLDNNMatrix::create(wgt, wgtVal_->getPrimitiveDesc()); - biasGrad_ = hasBias ? MKLDNNMatrix::create(bias, biasVal_->getPrimitiveDesc()) - : nullptr; + const MatrixPtr& outGrad = getOutput(device).grad; + out = MKLDNNMatrix::create(outGrad, outVal_->getPrimitiveDesc()); + wgt = MKLDNNMatrix::create(wgtGrad, wgtVal_->getPrimitiveDesc()); + bias = hasBias ? MKLDNNMatrix::create(biasGrad, biasVal_->getPrimitiveDesc()) + : nullptr; // create memory primitive desc fc_fwd::desc fwdDesc = fc_fwd::desc(prop_kind::forward, inVal_->getMemoryDesc(), - wgtGrad_->getMemoryDesc(), - outGrad_->getMemoryDesc()); + wgt->getMemoryDesc(), + out->getMemoryDesc()); fc_fwd::primitive_desc fwdPD = fc_fwd::primitive_desc(fwdDesc, engine_); fc_bwdWgt::desc bwdWgtDesc = hasBias ? fc_bwdWgt::desc(inVal_->getMemoryDesc(), - wgtGrad_->getMemoryDesc(), - biasGrad_->getMemoryDesc(), - outGrad_->getMemoryDesc()) + wgt->getMemoryDesc(), + bias->getMemoryDesc(), + out->getMemoryDesc()) : fc_bwdWgt::desc(inVal_->getMemoryDesc(), - wgtGrad_->getMemoryDesc(), - outGrad_->getMemoryDesc()); + wgt->getMemoryDesc(), + out->getMemoryDesc()); fc_bwdWgt::primitive_desc bwdWgtPD = fc_bwdWgt::primitive_desc(bwdWgtDesc, engine_, fwdPD); if (hasBias) { - bwdWgt_.reset( - new fc_bwdWgt(bwdWgtPD, *inVal_, *outGrad_, *wgtGrad_, *biasGrad_)); + bwdWgt_.reset(new fc_bwdWgt(bwdWgtPD, *inVal_, *out, *wgt, *bias)); } else { - bwdWgt_.reset(new fc_bwdWgt(bwdWgtPD, *inVal_, *outGrad_, *wgtGrad_)); + bwdWgt_.reset(new fc_bwdWgt(bwdWgtPD, *inVal_, *out, *wgt)); } - pipelineBwd_.clear(); - pipelineBwd_.push_back(*bwdWgt_); + pipeline.push_back(*bwdWgt_); /// backward data - const MatrixPtr& in = inputLayers_[0]->getOutput().grad; - if (in == nullptr) { + const MatrixPtr& inGrad = inputLayers_[0]->getOutput().grad; + if (inGrad == nullptr) { return; } if (getInput(0, MKLDNN_DEVICE).getAllCount() > 1) { // TODO(TJ): use outputMaps_ ways to get the inGrad_ when merge outgrad done } else { - inGrad_ = MKLDNNMatrix::create(in, inVal_->getPrimitiveDesc()); + in = MKLDNNMatrix::create(inGrad, inVal_->getPrimitiveDesc()); } - fc_bwdData::desc bwdDataDesc = fc_bwdData::desc(inVal_->getMemoryDesc(), - wgtGrad_->getMemoryDesc(), - outGrad_->getMemoryDesc()); + fc_bwdData::desc bwdDataDesc = fc_bwdData::desc( + inVal_->getMemoryDesc(), wgt->getMemoryDesc(), out->getMemoryDesc()); fc_bwdData::primitive_desc bwdDataPD = fc_bwdData::primitive_desc(bwdDataDesc, engine_, fwdPD); CHECK(wgtVal_) << "Should have weight memory"; - bwdData_.reset(new fc_bwdData(bwdDataPD, *outGrad_, *wgtVal_, *inGrad_)); + bwdData_.reset(new fc_bwdData(bwdDataPD, *out, *wgtVal_, *in)); printGradFormatFlow(); - pipelineBwd_.push_back(*bwdData_); + pipeline.push_back(*bwdData_); } void MKLDNNFcLayer::updateInputData() { diff --git a/paddle/gserver/layers/MKLDNNFcLayer.h b/paddle/gserver/layers/MKLDNNFcLayer.h index add8ac9991..3119f86349 100644 --- a/paddle/gserver/layers/MKLDNNFcLayer.h +++ b/paddle/gserver/layers/MKLDNNFcLayer.h @@ -45,11 +45,20 @@ public: bool init(const LayerMap& layerMap, const ParameterMap& parameterMap) override; - void reshape() override; - - void resetFwd() override; - - void resetBwd() override; + void reshape( + int& bs, int& ic, int& ih, int& iw, int oc, int& oh, int& ow) override; + + void resetFwd(std::vector<mkldnn::primitive>& pipeline, + MKLDNNMatrixPtr& in, + MKLDNNMatrixPtr& wgt, + MKLDNNMatrixPtr& bias, + MKLDNNMatrixPtr& out) override; + + void resetBwd(std::vector<mkldnn::primitive>& pipeline, + MKLDNNMatrixPtr& in, + MKLDNNMatrixPtr& wgt, + MKLDNNMatrixPtr& bias, + MKLDNNMatrixPtr& out) override; void updateInputData() override; diff --git a/paddle/gserver/layers/MKLDNNLayer.h b/paddle/gserver/layers/MKLDNNLayer.h index c10f2fec2f..169679c829 100644 --- a/paddle/gserver/layers/MKLDNNLayer.h +++ b/paddle/gserver/layers/MKLDNNLayer.h @@ -111,13 +111,14 @@ public: { REGISTER_TIMER_INFO("mkldnn_FwdTimer", getName().c_str()); - copySeqInfoToOutputs(); CHECK(!inputLayers_.empty()); + copySeqInfoToOutputs(); size_t elemenCnt = inputLayers_[0]->getOutput().value->getElementCnt(); if (inputElemenCnt_ != elemenCnt) { + // reset when input total sizes changed, not only the batchsize inputElemenCnt_ = elemenCnt; - reshape(); - resetFwd(); + reshape(bs_, ic_, ih_, iw_, oc_, oh_, ow_); + resetFwd(pipelineFwd_, inVal_, wgtVal_, biasVal_, outVal_); convertWeightsFromPaddle(); needResetBwd_ = true; } @@ -144,7 +145,7 @@ public: { REGISTER_TIMER_INFO("mkldnn_bwdTimer", getName().c_str()); if (needResetBwd_) { - resetBwd(); + resetBwd(pipelineBwd_, inGrad_, wgtGrad_, biasGrad_, outGrad_); needResetBwd_ = false; } @@ -160,20 +161,30 @@ public: /** * reshape the input image sizes * and reset output image and buffer size + * output channel can not be changed */ - virtual void reshape() = 0; + virtual void reshape( + int& bs, int& ic, int& ih, int& iw, int oc, int& oh, int& ow) = 0; /** * reset the mkldnn forward primitve and memory * only would be called when input size changes */ - virtual void resetFwd() = 0; + virtual void resetFwd(std::vector<mkldnn::primitive>& pipeline, + MKLDNNMatrixPtr& in, + MKLDNNMatrixPtr& wgt, + MKLDNNMatrixPtr& bias, + MKLDNNMatrixPtr& out) = 0; /** * reset the mkldnn backward primitve and memory for mkldnn fc * only would be called when needed */ - virtual void resetBwd() = 0; + virtual void resetBwd(std::vector<mkldnn::primitive>& pipeline, + MKLDNNMatrixPtr& in, + MKLDNNMatrixPtr& wgt, + MKLDNNMatrixPtr& bias, + MKLDNNMatrixPtr& out) = 0; /** * Update input value data when input layer is "data" type. @@ -207,16 +218,16 @@ protected: /** * reshape the input image sizes and input batchsize */ - virtual void reshapeInput() { + virtual void reshapeInput(int& batchsize, int& height, int& width) { const Argument& input = inputLayers_[0]->getOutput(); - bs_ = input.getBatchSize(); - int height = input.getFrameHeight(); - int width = input.getFrameWidth(); - if (height != 0) { - ih_ = height; + batchsize = input.getBatchSize(); + int h = input.getFrameHeight(); + int w = input.getFrameWidth(); + if (h != 0) { + height = h; } - if (width != 0) { - iw_ = width; + if (w != 0) { + width = w; } } From fb32106e246695fc91a63186fb22a68c66f98a33 Mon Sep 17 00:00:00 2001 From: Yu Yang <yuyang18@baidu.com> Date: Mon, 11 Sep 2017 17:14:01 -0700 Subject: [PATCH 59/66] Make paddle.v2.inference can direct load protobuf --- python/paddle/v2/inference.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/python/paddle/v2/inference.py b/python/paddle/v2/inference.py index 8acea6155c..19624a704f 100644 --- a/python/paddle/v2/inference.py +++ b/python/paddle/v2/inference.py @@ -25,11 +25,18 @@ class Inference(object): :type parameters: paddle.v2.parameters.Parameters """ - def __init__(self, output_layer, parameters): + def __init__(self, output_layer, parameters, data_types=None): import py_paddle.swig_paddle as api - topo = topology.Topology(output_layer) - gm = api.GradientMachine.createFromConfigProto( - topo.proto(), api.CREATE_MODE_TESTING, [api.PARAMETER_VALUE]) + if isinstance(output_layer, str): + gm = api.GradientMachine.createByConfigProtoStr(output_layer) + if data_types is None: + raise ValueError("data_types != None when using protobuf bin") + self.__data_types__ = data_types + else: + topo = topology.Topology(output_layer) + gm = api.GradientMachine.createFromConfigProto( + topo.proto(), api.CREATE_MODE_TESTING, [api.PARAMETER_VALUE]) + self.__data_types__ = topo.data_type() for param in gm.getParameters(): val = param.getBuf(api.PARAMETER_VALUE) name = param.getName() @@ -43,7 +50,6 @@ class Inference(object): # called here, but it's better to call this function in one place. param.setValueUpdated() self.__gradient_machine__ = gm - self.__data_types__ = topo.data_type() def iter_infer(self, input, feeding=None): from data_feeder import DataFeeder From 2b352212c27ccdccb94a2878d823b2150d74bf00 Mon Sep 17 00:00:00 2001 From: Yu Yang <yuyang18@baidu.com> Date: Mon, 11 Sep 2017 17:42:20 -0700 Subject: [PATCH 60/66] Add serialize to file for topology and read file obj for inference --- python/paddle/v2/inference.py | 20 +++++++++++++------- python/paddle/v2/topology.py | 9 +++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/python/paddle/v2/inference.py b/python/paddle/v2/inference.py index 19624a704f..e80456d9bb 100644 --- a/python/paddle/v2/inference.py +++ b/python/paddle/v2/inference.py @@ -2,6 +2,7 @@ import numpy import collections import topology import minibatch +import cPickle __all__ = ['infer', 'Inference'] @@ -25,18 +26,23 @@ class Inference(object): :type parameters: paddle.v2.parameters.Parameters """ - def __init__(self, output_layer, parameters, data_types=None): + def __init__(self, parameters, output_layer=None, fileobj=None): import py_paddle.swig_paddle as api - if isinstance(output_layer, str): - gm = api.GradientMachine.createByConfigProtoStr(output_layer) - if data_types is None: - raise ValueError("data_types != None when using protobuf bin") - self.__data_types__ = data_types - else: + + if output_layer is not None: topo = topology.Topology(output_layer) gm = api.GradientMachine.createFromConfigProto( topo.proto(), api.CREATE_MODE_TESTING, [api.PARAMETER_VALUE]) self.__data_types__ = topo.data_type() + elif fileobj is not None: + tmp = cPickle.load(fileobj) + gm = api.GradientMachine.createByConfigProtoStr( + tmp['protobin'], api.CREATE_MODE_TESTING, + [api.PARAMETER_VALUE]) + self.__data_types__ = tmp['data_type'] + else: + raise ValueError("Either output_layer or fileobj must be set") + for param in gm.getParameters(): val = param.getBuf(api.PARAMETER_VALUE) name = param.getName() diff --git a/python/paddle/v2/topology.py b/python/paddle/v2/topology.py index a20e878d08..2db66be250 100644 --- a/python/paddle/v2/topology.py +++ b/python/paddle/v2/topology.py @@ -18,6 +18,7 @@ from paddle.proto.ModelConfig_pb2 import ModelConfig import paddle.trainer_config_helpers as conf_helps import layer as v2_layer import config_base +import cPickle __all__ = ['Topology'] @@ -100,6 +101,14 @@ class Topology(object): return layer return None + def serialize_for_inference(self, stream): + protobin = self.proto().SerializeToString() + data_type = self.data_type() + cPickle.dump({ + 'protobin': protobin, + 'data_type': data_type + }, stream, cPickle.HIGHEST_PROTOCOL) + def __check_layer_type__(layer): if not isinstance(layer, config_base.Layer): From 7f7fa325287a2ef434aca8a38bed4af2496429a2 Mon Sep 17 00:00:00 2001 From: tensor-tang <jian.j.tang@intel.com> Date: Mon, 11 Sep 2017 22:49:11 +0800 Subject: [PATCH 61/66] use CPU_DEVICE instead of magic number --- paddle/gserver/layers/Layer.h | 11 ++++++----- paddle/gserver/tests/MKLDNNTester.cpp | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/paddle/gserver/layers/Layer.h b/paddle/gserver/layers/Layer.h index edef36194a..4002a3d074 100644 --- a/paddle/gserver/layers/Layer.h +++ b/paddle/gserver/layers/Layer.h @@ -49,6 +49,12 @@ struct LayerState { }; typedef std::shared_ptr<LayerState> LayerStatePtr; +/// Paddle device ID, MKLDNN is -2, CPU is -1 +enum PADDLE_DEVICE_ID { + MKLDNN_DEVICE = -2, + CPU_DEVICE = -1, +}; + /** * @brief Base class for layer. * Define necessary variables and functions for every layer. @@ -59,11 +65,6 @@ protected: LayerConfig config_; /// whether to use GPU bool useGpu_; - /// Paddle device ID, MKLDNN is -2, CPU is -1 - enum PADDLE_DEVICE_ID { - MKLDNN_DEVICE = -2, - CPU_DEVICE = -1, - }; /// Device Id. MKLDNN is -2, CPU is -1, and GPU is 0, 1, 2 ... int deviceId_; /// Input layers diff --git a/paddle/gserver/tests/MKLDNNTester.cpp b/paddle/gserver/tests/MKLDNNTester.cpp index 11e8527910..2f48e5b2d3 100644 --- a/paddle/gserver/tests/MKLDNNTester.cpp +++ b/paddle/gserver/tests/MKLDNNTester.cpp @@ -68,7 +68,7 @@ void MKLDNNTester::reset(const TestConfig& dnn, CHECK(dnnLayer_); // for comparison with Paddle reference results, // need manually add cpu device output for test - dnnLayer_->addOutputArgument(-1); + dnnLayer_->addOutputArgument(CPU_DEVICE); EXPECT_EQ(dataLayers_[DNN].size(), dataLayers_[REF].size()); EXPECT_EQ(parameters_[DNN].size(), parameters_[REF].size()); @@ -113,7 +113,8 @@ void MKLDNNTester::randomBotDatas() { void MKLDNNTester::randomTopDiffs() { refLayer_->getOutputGrad()->randomizeUniform(); - dnnLayer_->getOutput(-1).grad->copyFrom(*(refLayer_->getOutputGrad())); + dnnLayer_->getOutput(CPU_DEVICE) + .grad->copyFrom(*(refLayer_->getOutputGrad())); VLOG(lvl_) << "Random Backward Input, TopDiff: "; printMatrix(refLayer_->getOutputGrad()); } From ad64ca5da20e696d66cfcf9011d16a81e8ef8ff8 Mon Sep 17 00:00:00 2001 From: qingqing01 <dangqingqing@baidu.com> Date: Tue, 12 Sep 2017 10:45:11 +0800 Subject: [PATCH 62/66] Call Tensor::numel() everywhere. --- paddle/framework/tensor.h | 5 ++++- paddle/framework/tensor_impl.h | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/paddle/framework/tensor.h b/paddle/framework/tensor.h index fc54ed697f..19051db539 100644 --- a/paddle/framework/tensor.h +++ b/paddle/framework/tensor.h @@ -162,7 +162,10 @@ class Tensor { /*! points to dimensions of memory block. */ DDim dims_; - /*! the element count of tensor. */ + /** + * A cache of the number of elements in a tensor. + * Would be 0 for an uninitialized tensor. + */ int64_t numel_; /** diff --git a/paddle/framework/tensor_impl.h b/paddle/framework/tensor_impl.h index 03678784b4..5e32bfcac6 100644 --- a/paddle/framework/tensor_impl.h +++ b/paddle/framework/tensor_impl.h @@ -24,7 +24,7 @@ inline void Tensor::check_memory_size() const { PADDLE_ENFORCE_NOT_NULL( holder_, "Tenosr holds no memory. Call Tensor::mutable_data first."); PADDLE_ENFORCE_GE( - holder_->size(), numel_ * sizeof(T) + offset_, + holder_->size(), numel() * sizeof(T) + offset_, "Tensor's dims_ is out of bound. Call Tensor::mutable_data " "first to re-allocate memory.\n" "or maybe the required data-type mismatches the data already stored."); @@ -54,11 +54,11 @@ inline T* Tensor::mutable_data(DDim dims, platform::Place place) { template <typename T> inline T* Tensor::mutable_data(platform::Place place) { static_assert(std::is_pod<T>::value, "T must be POD"); - PADDLE_ENFORCE_GT(numel_, 0, + PADDLE_ENFORCE_GT(numel(), 0, "Tensor's numel must be larger than zero to call " "Tensor::mutable_data. Call Tensor::set_dim first."); /* some versions of boost::variant don't have operator!= */ - int64_t size = numel_ * sizeof(T); + int64_t size = numel() * sizeof(T); if (holder_ == nullptr || !(holder_->place() == place) || holder_->size() < size + offset_) { if (platform::is_cpu_place(place)) { @@ -131,7 +131,7 @@ inline Tensor Tensor::Slice(const int& begin_idx, const int& end_idx) const { PADDLE_ENFORCE_LT(begin_idx, end_idx, "Begin index must be less than end index."); PADDLE_ENFORCE_NE(dims_[0], 1, "Can not slice a tensor with dims_[0] = 1."); - size_t base = numel_ / dims_[0]; + size_t base = numel() / dims_[0]; Tensor dst; dst.holder_ = holder_; DDim dst_dims = dims_; From dd926498e7e61b25250c8f59d91afe57ab24098a Mon Sep 17 00:00:00 2001 From: Yibing Liu <liuyibing01@baidu.com> Date: Mon, 11 Sep 2017 20:09:21 -0700 Subject: [PATCH 63/66] adapt to the new test framework --- .../v2/framework/tests/test_reshape_op.py | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/python/paddle/v2/framework/tests/test_reshape_op.py b/python/paddle/v2/framework/tests/test_reshape_op.py index 50653f58ee..16bb6bb2af 100644 --- a/python/paddle/v2/framework/tests/test_reshape_op.py +++ b/python/paddle/v2/framework/tests/test_reshape_op.py @@ -1,29 +1,20 @@ import unittest import numpy as np -from gradient_checker import GradientChecker, Operator -from op_test_util import OpTestMeta +from op_test import OpTest -class TestReshapeOp(unittest.TestCase): - __metaclass__ = OpTestMeta - +class TestReshapeOp(OpTest): def setUp(self): - self.type = "reshape" - self.inputs = {'X': np.random.random((37, 51)).astype("float32"), } - self.attrs = {'shape': [51 * 37]} + self.op_type = "reshape" + self.inputs = {'X': np.random.random((10, 20)).astype("float32")} + self.attrs = {'shape': [10 * 20]} self.outputs = {'Out': self.inputs['X'].reshape(self.attrs['shape'])} + def test_check_output(self): + self.check_output() -class TestReshapeGradOp(GradientChecker): - def setUp(self): - self.op = Operator("reshape", X='X', Out='Out', shape=[5, 40]) - self.inputs = {"X": np.random.random((10, 20)).astype("float32")} - - def test_normal(self): - self.check_grad(self.op, self.inputs, ["X"], "Out") - - def test_dev_compare(self): - self.compare_grad(self.op, self.inputs) + def test_check_grad(self): + self.check_grad(["X"], "Out") if __name__ == '__main__': From 0289a0091f094c75190698df7e450d8e1a70bbaa Mon Sep 17 00:00:00 2001 From: Yibing Liu <liuyibing01@baidu.com> Date: Mon, 11 Sep 2017 22:15:29 -0700 Subject: [PATCH 64/66] follow comments to cleanup code --- paddle/operators/reshape_op.cc | 35 ++++++++++++++++++++++++++-------- paddle/operators/reshape_op.h | 9 ++++----- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/paddle/operators/reshape_op.cc b/paddle/operators/reshape_op.cc index 37cbecbf25..da29c89150 100644 --- a/paddle/operators/reshape_op.cc +++ b/paddle/operators/reshape_op.cc @@ -27,21 +27,26 @@ class ReshapeOp : public framework::OperatorWithKernel { protected: void InferShape(const framework::InferShapeContext &ctx) const override { - auto *in = ctx.Input<framework::Tensor>("X"); + // input check + PADDLE_ENFORCE_NOT_NULL(ctx.InputVar("X"), "Input(X) shouldn't be null"); auto shape = ctx.Attr<std::vector<int>>("shape"); - int64_t capacity = -1; + PADDLE_ENFORCE(shape.size() > 0, "Attr(shape) shouldn't be empty."); for (auto dim : shape) { PADDLE_ENFORCE(dim > 0, "Each dimension of shape must be positive."); - if (capacity < 0) { - capacity = dim; - } else { - capacity *= dim; - } } + // capacity check + int64_t capacity = + std::accumulate(shape.begin(), shape.end(), 1, std::multiplies<int>()); + auto *in = ctx.Input<framework::Tensor>("X"); int64_t in_size = framework::product(in->dims()); PADDLE_ENFORCE_EQ(capacity, in_size, "The size of Input(X) mismatches with Attr(shape)."); - ctx.Output<framework::Tensor>("Out")->Resize(in->dims()); + // resize output + std::vector<int64_t> shape_int64(shape.size(), 0); + std::transform(shape.begin(), shape.end(), shape_int64.begin(), + [](int a) { return static_cast<int64_t>(a); }); + auto out_dims = framework::make_ddim(shape_int64); + ctx.Output<framework::Tensor>("Out")->Resize(out_dims); } }; @@ -56,6 +61,17 @@ class ReshapeOpMaker : public framework::OpProtoAndCheckerMaker { AddComment(R"DOC(Reshape operator Reshape Input(X) into the shape specified by Attr(shape). + +An example: +Given a 2-D tensor X with 2 rows and 2 columns + + [[1, 2], [3, 4]] + +with target shape = [1, 4], the reshape operator will tansform +the tensor X into a 1-D tensor: + + [1, 2, 3, 4] + )DOC"); } }; @@ -70,6 +86,9 @@ class ReshapeGradOp : public framework::OperatorWithKernel { protected: void InferShape(const framework::InferShapeContext &ctx) const override { + PADDLE_ENFORCE_NOT_NULL(ctx.InputVar("X"), "Input(X) shouldn't be null."); + PADDLE_ENFORCE_NOT_NULL(ctx.InputVar(framework::GradVarName("Out")), + "Input(Out@GRAD) shouldn't be null."); auto dims = ctx.Input<framework::Tensor>("X")->dims(); auto *d_in = ctx.Output<framework::Tensor>(framework::GradVarName("X")); d_in->Resize(dims); diff --git a/paddle/operators/reshape_op.h b/paddle/operators/reshape_op.h index 0e920329d9..26708e72dc 100644 --- a/paddle/operators/reshape_op.h +++ b/paddle/operators/reshape_op.h @@ -30,11 +30,10 @@ class ReshapeKernel : public framework::OpKernel { out->mutable_data<T>(ctx.GetPlace()); auto shape = ctx.Attr<std::vector<int>>("shape"); - std::vector<int64_t> tmp; - for (auto dim : shape) { - tmp.push_back(dim); - } - auto out_dims = framework::make_ddim(tmp); + std::vector<int64_t> shape_int64(shape.size(), 0); + std::transform(shape.begin(), shape.end(), shape_int64.begin(), + [](int a) { return static_cast<int64_t>(a); }); + auto out_dims = framework::make_ddim(shape_int64); out->CopyFrom<T>(*in, ctx.GetPlace()); out->Resize(out_dims); } From 5915138c791c7a2d6fd40c0ae6c942ca870033c8 Mon Sep 17 00:00:00 2001 From: Yibing Liu <liuyibing01@baidu.com> Date: Mon, 11 Sep 2017 22:22:43 -0700 Subject: [PATCH 65/66] fix a typo --- paddle/operators/reshape_op.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paddle/operators/reshape_op.cc b/paddle/operators/reshape_op.cc index da29c89150..b7061153d2 100644 --- a/paddle/operators/reshape_op.cc +++ b/paddle/operators/reshape_op.cc @@ -67,7 +67,7 @@ Given a 2-D tensor X with 2 rows and 2 columns [[1, 2], [3, 4]] -with target shape = [1, 4], the reshape operator will tansform +with target shape = [1, 4], the reshape operator will transform the tensor X into a 1-D tensor: [1, 2, 3, 4] From 1f839a6618db31b9be26f5d2604d98ef4fd2f46e Mon Sep 17 00:00:00 2001 From: caoying03 <caoying03@baidu.com> Date: Tue, 12 Sep 2017 17:03:17 +0800 Subject: [PATCH 66/66] fix bug in prelu parsing. --- python/paddle/trainer/config_parser.py | 1 + .../protostr/test_prelu_layer.protostr | 45 ++++++++++++++++++- .../tests/configs/test_prelu_layer.py | 2 + 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/python/paddle/trainer/config_parser.py b/python/paddle/trainer/config_parser.py index 356e1d8b6f..4f68a89534 100644 --- a/python/paddle/trainer/config_parser.py +++ b/python/paddle/trainer/config_parser.py @@ -2034,6 +2034,7 @@ class ParameterReluLayer(LayerBase): config_assert(input_layer.size % partial_sum == 0, "a wrong setting for partial_sum") self.set_layer_size(input_layer.size) + self.config.partial_sum = partial_sum self.create_input_parameter(0, input_layer.size / partial_sum) diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_prelu_layer.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_prelu_layer.protostr index 64d227565f..94ad56cab0 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_prelu_layer.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_prelu_layer.protostr @@ -14,6 +14,29 @@ layers { input_layer_name: "input" input_parameter_name: "___prelu_layer_0__.w0" } + partial_sum: 1 +} +layers { + name: "__prelu_layer_1__" + type: "prelu" + size: 300 + active_type: "" + inputs { + input_layer_name: "input" + input_parameter_name: "___prelu_layer_1__.w0" + } + partial_sum: 1 +} +layers { + name: "__prelu_layer_2__" + type: "prelu" + size: 300 + active_type: "" + inputs { + input_layer_name: "input" + input_parameter_name: "___prelu_layer_2__.w0" + } + partial_sum: 5 } parameters { name: "___prelu_layer_0__.w0" @@ -23,14 +46,32 @@ parameters { initial_strategy: 0 initial_smart: true } +parameters { + name: "___prelu_layer_1__.w0" + size: 300 + initial_mean: 0.0 + initial_std: 0.057735026919 + initial_strategy: 0 + initial_smart: true +} +parameters { + name: "___prelu_layer_2__.w0" + size: 60 + initial_mean: 0.0 + initial_std: 0.129099444874 + initial_strategy: 0 + initial_smart: true +} input_layer_names: "input" -output_layer_names: "__prelu_layer_0__" +output_layer_names: "__prelu_layer_2__" sub_models { name: "root" layer_names: "input" layer_names: "__prelu_layer_0__" + layer_names: "__prelu_layer_1__" + layer_names: "__prelu_layer_2__" input_layer_names: "input" - output_layer_names: "__prelu_layer_0__" + output_layer_names: "__prelu_layer_2__" is_recurrent_layer_group: false } diff --git a/python/paddle/trainer_config_helpers/tests/configs/test_prelu_layer.py b/python/paddle/trainer_config_helpers/tests/configs/test_prelu_layer.py index 2e3057f323..aae90fab32 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/test_prelu_layer.py +++ b/python/paddle/trainer_config_helpers/tests/configs/test_prelu_layer.py @@ -2,5 +2,7 @@ from paddle.trainer_config_helpers import * data = data_layer(name='input', size=300) prelu = prelu_layer(input=data) +prelu = prelu_layer(input=data, partial_sum=1) +prelu = prelu_layer(input=data, partial_sum=5) outputs(prelu)