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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

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
zcmV-36U^)%iwFP!000030PS6AbK1(%{(SN)c=P3cII%p7*4!kwgm=dq2Akk=)hz)s
zC>9b&5?+$Ze}8+#q8+oIz&+!tghf50)~KI;x@U&gr~kb4?9!9z`IhT^evbw8zGONr
zw{1C{&+l()hdb)~|9pA(>HqdG_iBx+gHqqN{GfDoQ$9P{E4|;@-PQYj+uYsVukDwv
z&Q7Ye67;dVdvNi-^u8Me{g1o5&(F_-!K8$i+hc<M?v>~EO)q#ogU)uKfzS@x@8LAV
z-V^G;w{5Exe0lfBr$_Vki{1*XC-cmBHN6w3ZN7ZkW#7U<%L&Ym>3u<;cE@kWP2k*C
z%Lt&$+hNa>Muz7Z?9Csa{J?`t{sI~bZqKngo;&CZm+<b$GaepnQ~9(z5{XG;MHUEX
zPZX+YVoc)G?zrcn27|!W+usL%kWm*)8GXw}>ye$`X~VhuU8^-|G#ZGJ7?beF$0j=c
z{JDdPDhi59WTeWPBuj*RDD7Ywi2}UGpev?Gr1aN^(oZUDR1jmb+J}-TQcVa&MhEb(
zUx}+{XWX+5KYQ|O*XWy(+Nm}t`%#1OHIw+|55=m%t8GS-<BJ|1gf893=xFTl@c6!G
zJV$y(nq6GR)qxu{8O!mz=*{pZ_~xDK_GYlJJ;Ql2{7cX3SdnFo?*{r%Lh;dywWwM@
z%#1w7MEX#|RLp7R+Jl~>+g8WPno(A(P`cVTTF}Kr-ZKsR3za|ZhHu8A@PVOY-v}}a
z5rmZ;r0x){MDRx{f230BPXvD%?N}$Smu`P-+LlwQ8%&2}gMG{I+s13PW!Ras0`N=y
zp!B&EzIjPEJ+y4I_S(-hGXQ64+0YpG-PWLIIzbx$li{P8@f#Vj&s<cFzerkT3X3r?
zN=OlqqF{-t04^kI@`sY5VnLNv1wJd3AR;LYiYl0jijq*v!`j<m8x4}{1SigeTa1;s
z0kZExo4{mZ9C4Ur5F8DjLbL>khoWbeGX<vcj^aJ3$)1M7SFUdbvD-G$6$xO77`znt
zE>Xl-R%A+J>JOV=yFqB)af^wc6{WOKU2{0h+0oy#ycRRu^spzrSLVX~uF-a%<7z|#
z`5vsug(VbC>0C2kf?^$#M<Zjs_kss}Z#cdc{@3bvz!{PImfLa-c1T3x@Pj{S!e>!I
z?|$AtfSCnN`~CslKR6b=wz`Jrn*k~T^q<TCnD@dQnE(C-vMtwkJrMr)y=S(GB;9vB
z({$LIrads>6{PO_hS$CiUL+a8|KJY87g=R5goxpbir5RKp$OGN5m5|9BovB3YxW}J
zP()Thg!OBAju8wz!@mEk#l8rvPB$=}2cre93%z?6UWHG@(tYazm97lW=$V1(m3-5K
zproX?+n(wBzuuyfw0kH3FoVbv@MRJ?w{bG;DQj5_@yDjoo)^Y4Ql>+yz>TOmZsf{^
zui|4jaltXemBi4=5(rfkg(?UGg{lOctRxXdLP%7JDA8Z30f}16f+UF=xDpkMs*1ry
zYZ4YDiU<KO4PR)Qn!f3g9={Lv`5{rZZ*~)P&r2vU=^x0{HphqKCmQ*2vtzVg6Ad2>
z+c$UPLN&v(3r~P%a9f4YnZ~TLKoQ(>S=M9?i?aBkB*Q&dL~Zh?%3IE?N)9AAA#p<D
zgftH!NvgCEA<2sqQqng`D&%x1<(#y62#F9SNl26v(mDw#>Sq2VrqI|p%jM%t;w;Bm
zj<ejdX_vML%gLIuD9dRSL#BiZc?=_&<_K`A+7zmiC2@sRg%N?<t;*U~vr!gB8*id}
zuIHHEwb8Z)$y0<^t|lf#IeD#@yv|&=UwUvo6Nrlw)*J3e))pbG+~tOu)3SMI`l8md
zjD*pGYPg8X7V2b(#p8>rNGxit;ACqNQbGvq<Lk6olM7pG8f1`)%$alwlQNv77I_L*
zNTa1CBY;5D$!$SUZj;~1*Toa-+^39&2ruSS)O7{HiYf~c>M2qPn+gI)G}&GO*q>`{
z0t2ZEvM7l}R4F(m%$>qN+9@m$#1}Y)Bev@)>kh_SAqtR?2}hHizwL7hy-u?8T+j2S
z@5%Q*x&9|<z<E9>PoczJNq8bPV=9^MlZ|7JzQ8h59w~VzVt#`vSWrYs!w^+~qmV`A
zO}~-I+!b(ISWy*OQdI=5OJxhHia?piQZ$9ClAMlo5{@U|_2dm-#{Hy(3S3aJ6G{zp
zfg{R2ORh7T#T^woq_j(#<}L~yM%r*PR+Mxba~Ub3(~LCnp5uIxA$$YpWI3EK5Fae<
zCOFQw5a;Qzcn+MWXZ+%Gew1QCi~ottfDjSD7-fy95a~)vxYJnC1X05(rHCRG5^iRx
zjAb+`$|91&{993f{mSzgg`TE(((o<Z(Olf67M-RpJ8h2X=NL+Iwk}7fv;?2gOV8+0
zl3I?+`aw>V^AV-81X0RM2E>{Mz9!~>W|{h1cIuE*<yMBo>!C`vlS4(S#)2v^XUukT
zXqXC!Qc;t`9|Fi&+CZvQ@~LvW?6_!+EO(WR^XuQpuT|4&b820dTD2vpRb4%`zByU6
zEHiUv-NqzTTu%}zBZ0(bF(kSr%&PGul#}F4B-yTWid=R%MqHdCF<Ooy8O34nHk4A0
zszjr7zU*@$iscl!g%p{yzRZFCHv)ahb=SOwQ(2`#6o-gZr5xxS=vd)E|D8Z5t5144
z&^gd^td#z3Nv|w!V3v#dQY+7LXUuXN3un3WLPb$kK~=FtB~4Tm7<PFBkt6bz7Y?^I
z!tH!u^J%4JgU}^5HDGD=+2$N8FN-CsJP6&!AXMeq=5O52kLBMxf6Vvu^ZDbYLTF4C
z0V`O8utOn|CJ}X0vrUC(n>_rTDg0eevYCgJtw=Uio@{cotq*O><eKwttKEiQpkR&T
zjpJ>7c)K=RPiq03j06A~5oMK74blcmwqv(l!7ulDWXQ3T#?H6(EJG-%pGvY7I~<0B
zk`|Wr6#q6X;7uhTZrJNI?3!m-z}F=_&A_8Uy|Rs#$)1~%Yei{)ny71%szH-qbq6K8
z;5Cd!<*GGhp&CYOE99xLaC%(gj8!d?KpfZ|#cCLl;<{->6{2TRK|hcYOER9P<dKNw
zL`ee53!(9vN4yZ)I*KdGt1PbgR@Hi5;BYQnZx=|XJavJCbj<Yf0w9%?g)5+@3;wXJ
zP;ZfI@iL;y=GqWVEF%*BV2TZ`_6;7G<8k33nubRet&%in$KxVs=6Ku~JZj1ctM5}b
z4-1YsvF;&h3(vzYQLDcIB$z+tg-=DjRaT30(rO-FCaL1WF=FbcNtn!&$nl4lZFh{Q
ztoY$&nYDRUTh&tGswqm8`J-Prqph%z6(_Sf{L54_lUGS*Z%tV&M}?fsHYdR%t4y%c
zzarE&oXq&Mqd7YjSCHb|G>5yG%1w(uIw<w49&MgHYY}4O)U-L&r1H7=^}uoAwXwX_
ztsM~w5~2~Jh{OT;zX?dbSiK%VYG{?Y8wcb+29S8o$=eRw!5II;;^t&;3STYb*;{dC
zq?Lm~78Acv6{);ISRi~_o<nDKRgQRQH%Ih4HMFCv%(Z5pmR~4S<DuQ=gmyB|wbrsR
zSQCHCTqNHY{7;*UEDkQy^-rj{>6w<yGc6u27F7jWITkiL(NcJ##gVhJ3O_5~JGjBy
z+eJm?*x}e&UA3O2z>}`gqms?utCahLMjnIl`a3I_>{cQFz(}1^W@qI;b=sUbYCikC
zt{o;a#I_L_!?$HU_|ZN-wHtMe%x`7;?&R3j#Y(wyQa$LFPcLuKA%f%mhI5O;26y%A
z8vCNzYw6vS%1O<>xN7wJc7s;*?%mge(RZOt*Z>5}_DQAu_1V5@^$wxo?d!?@-ceUS
z?N=)Yr;je2Nq>PeT@M>H=yktIq;AW3)LBELa#`)38uc=gY89gSP5Sj{*r<IOHn>3-
zPt7CkRX?pB==Jk`=(%^-(aYWb*8{uXsDL_^#<$b%9X;)a4O&NC(9ibo8b-AX7kUUi
z*S_7NM*Y;kyDfJ?O$Yux8;2Lei#F>owhn>^2U6|k=<u~sZ@)IamE9Y9Ej5pBn3@L_
zbfMoopXgzOZe@?@ShqWOaA9{(O{Y52dHlIz+NY0?UH!HhHaP!r_x)R?p~GK`{kOX-
zo#@bWQ!f+t+Sbc`{peh8RLaAP4!^9FL9I&puDjRNPyKT58D39}qi*N(=dr;|?)0WR
zDs})3zeeGgXp?*wnUq*UMLuk5d8LBlN_<-M&AKnsikgVpQk9WpTv)6qzj6|v+uYrl
zLP5Od!Qw+S4O0?Y3R9v?reZ3CIgY7~!IUhnaJ@j);BHF_X7Ra-K9p3ny6F6ERL&2v
z0yOaLT0DV$@QFA~VD)y}Gkw2wX88f%d$N|8P9lr)PgrVhO0`QK(`|Z8$G4BH2~%__
zOer$rnA+Bu4y`(-Q)O+-V>*$q=<yJ6(GZYV16hj6rvg)27ft1dhMcBmu0o7Au2T3)
ziA`ZYmDzS;6A7;j!kH>!Dqa|5aUU|3rj(^<YRalpK8<mj+MF2*jn7alJVaA5r7nf3
zDXUKTnB$n*oEZwT>OgMWSDi#6@<5IUa?z?&t2O8iY$Gt+C9ux6WjetMcT$F!0nN61
zR!>HJR*yq$QHWjk1FHv?=#{F2W`|ibPo5U$?Wr)uO9grqPk+)_CJ^L--sS{)>Z$`h
zk&rDXEnWeKlh(qdHI4<N0MX@7U0HmS<5Zy1rFO+mp{@K~vz)dzhqmNZ@1WRz+TuGX
zIBhMygCZQ4`*)nRR^f!E;&izU6`992zr|{twKj*fv{kbfQRtSl7B2|JX(+jo&-Cv9
zr4fJpyADo63s2!p1)j1l8p@v&<TUiZNkieB-?r0`h$*KbPD7bVyj3sg;$Z>8RpTVz
zrV%fa#v!mNMbZ?avNFZt9w4g8Y-6{wW&p?v;+3Hmt_<~34(l^D>$m9c+ezn!+`hJZ
zx368dvS-{pmJd$99t^80om9@DhXbR2fsDE~fJV}==+oo=u-a1la$F2**q|St_81!N
zH_6LWtFw30)epbJb?n{s8oJI3K%E+OR@Z4*N-9&_sXnaRRAxP6+&((Ann$;xy2Fd6
zr`<_8smdM*mM?E`vV>GvJqpwu4(q|ie&z6dPd~ZQM+K^mK)s_Tk<dup$>*@aald+Z
zdQv&8|2QWNjE-1!sAKlu)$X5Fy=?18&w9H9ug8^P?J1*D{;nS#=(X_68=a}8*Bh0v
zI@F!7!|PGkZSV?FtF91rWq3x<4A>qL(|a<#wG@hqa+|Q1BhPBb!`2DDCr7J&qXjxl
z&M=BwBZ3Ph&yDY{$He#8ZHR=EIvZJUi3FVWk<A>rtW;+vDQ_kzAFeVde)hdiGcFus
zlf+eL25A!6#P33M6T-nASZ&ikb6bz*B$3Yb&oSv+%eR^lCyd1#2i3Iv@s-grC%%88
zPh!8okdJyGxCdkihL;h?8S$^C*{`|PmJ!opk}?i+O5@e^qBBoY>69(#09Js0f`VhY
z=dddnoGFJd04_O`C+z&C9ILv5k8z{~-XPxFtz|yv9W8<moW~sm#o*B$t7im}g8AGV
zinbt4bI&bj-|~Yr(9{&tLfNVb-oywj*GY*Z0j1>aP|X9UV>ww}+HR0h#xae+WiwD`
zrqc<!nG=vvt$w1Zh)}}z8YfN|wx2`6;Mwh4Gs!3M11dfi0V0c^bED&!!94Ol0HWG8
z%^+pV6GK0D+tve65Yu`;cBjXk5`>i<r0x){M94=``v@u9pKRnZ=L$QD!7rMyvz$`h
zV2&l-;wkj|$A;6k&6zLi!VS#Xhv3p<d1d0JOz|Ti4JI~o=gd8o;l4ilGsrUF76a{~
zT6TlL?VTGQXb{;?Y!YwO--GQMLDDgd-is*d<|D5)Jj1c;SwCFIut9IjNf~PPL@l??
zoO;fQriR6O7otQ7H|wW1gqmT6(i?o&Z64o-<wN%%%&d{qzwRJ@)lcdNdi5`mIef7p
zBAc%MnfVYbGd#=-P3!*(QXVfc!Ijg!A0E%?{in<x!KrA;JuEqAVRmqBLTKchImWpS
zH{zN_fa|;yHMhTx?vt)Jyb+g<$v|8X1zej(`_i#r-$wVf`>fkm$C)Ac0MS&WH6#ft
zM;tMn4F$Jdvx2N6+B2Ld!%sv9!xlY=&O<erTO9^ldMmJ=W{I`J#*DiSr)AFB_QtXP
z8ko_fz?7@M@y!D#u)Jx*emiT}H*(asuGRi(z9xqgCr7hxIc@j3*#GVgJP!sf9Q14i
zoXSJOxpFTaxW!6xD<4W)I6KesFgEXklk+a4o10W79;%IxUk_~4D-?hm)HL2YT({cs
z;Ab+DDCdGkP5xUmnllZ+Xz;JiPQran24Y8&1d)pDDOpIBHAxXMD^{)`L6c;OV1;U!
zqG6$aOjJ>rNWxK8(qGghArcg6&M@A&ZZ8vSiISH1lT)!8YjkTs>g?ybmz*WI9KiiC
l)A=GHi6ov8g_27qkps*)tLU|F13JIF`+tdxp}N)#0RR@&q}l)g

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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

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)