1. 17 7月, 2017 15 次提交
  2. 16 7月, 2017 5 次提交
    • Q
      change net to operator (#2846) · 45ce1649
      Qiao Longfei 提交于
      * OperatorBase should not store OpDesc because not All op contains an
        OpDesc and not all ops create from OpDesc.
        * Networks do not contain OpDesc and are not created by OpDesc
      * Do not register Network to OpRegistry.
        * The network is directly created by the user in Python. Not from
          registry.
      * Correctly handle the `inputs` and `outputs` of a Network.
        * Add CompleteAddOp() methods
      * Remove `AddOp(OpDesc&)` in net-op. All op are added by OperatorPtr.
      * Rewrite unit test for truly tested what networks do.
      * optimise operator_test
      45ce1649
    • F
      formate code · 7de10ee7
      fengjiayi 提交于
      7de10ee7
    • F
      Refactor DDim's product() and add slice_ddim() · 85c4f488
      fengjiayi 提交于
      1. Refactor DDim's product() to make it more efficiently.
      
      2. Add slice_ddim().
      85c4f488
    • Q
      add ADD_OP_CPU to enable add op with only cpu kernel (#2896) · afa99d9a
      Qiao Longfei 提交于
      * add ADD_OP_CPU to enable add op with only cpu kernel
      afa99d9a
    • Y
      CMake `op_library` function · d3a749a5
      Yu Yang 提交于
      * It is used to create an operator library. It handles to split CPU and
        GPU sources and links operator common libraries.
      * It also give a reasonable warning and error when operator developer
        not correctly implement an operator.
        * Warning for lack of GPU kernel.
      * Same interface as `cc_library` to make code style consistent.
      d3a749a5
  3. 15 7月, 2017 8 次提交
  4. 14 7月, 2017 12 次提交
    • L
      Follow comments · 03b3d0d8
      liaogang 提交于
      03b3d0d8
    • F
      update PADDLE_ENFORCE message · 57a22db3
      fengjiayi 提交于
      57a22db3
    • F
      update tensor.h · 34beec0f
      fengjiayi 提交于
      34beec0f
    • F
      change int numel_ to size_t numel · 8594d5c3
      fengjiayi 提交于
      8594d5c3
    • F
      refactor product(DDim ddim) · 8bcd1faf
      fengjiayi 提交于
      8bcd1faf
    • L
      Add Go compiler to Dockfile.android and rename the build directory to build-android. · 450cf18b
      Liu Yiqun 提交于
      The newest developing image was push to dockerhub, named xreki/paddle-android:dev.
      450cf18b
    • F
      fix several compile error · 1f97388a
      fengjiayi 提交于
      1f97388a
    • F
      Refactor Tensor::CopyFrom() · dcfcf687
      fengjiayi 提交于
      1. Add template T which indicates data type to `CopyFrom()`, `Slice()`
      and `ShareData()` functions. This makes `CopyData()` code much clearer.
      
      2. Add `set_dim()`.
      
      3. `product(DDim)` transforms `DDim` to `vector<int>` first and then calculate
      its product. That might be quite slow. For `product(dims_)` is frequently
      used in Tensor, we add a mumber variable `numel_` as a cache of the
      product result.
      TODO: refactor `product()` to make it more efficient.
      
      4. Unable Tensor::operator=
      
      5. Remove the limit of POD type, because `float16` and `int8` are not POD type.
      dcfcf687
    • F
      Refactor `Tensor::CopyFrom()` · a1dc4311
      fengjiayi 提交于
      a1dc4311
    • Y
      Get OpProtos in Python · a76f7ed2
      Yu Yang 提交于
      * PyBind and SWIG of paddle cannot be load in a single Python process,
        lazy import all SWIG library of Paddle. Otherwise, the glog, gflags
        are imported twice in a same Python process.
      * Note that all PyBind11 return C++ std::string as an unicode. For
        protobuf, it is need be cast to `str` before use them.
      * Add unit test for Get `OpProtos`
      a76f7ed2
    • Q
      Optimize ptr (#2851) · 58f3de95
      Qiao Longfei 提交于
      * use OperatorPtr = std::shared_ptr<OperatorBase>;
      * use ScopePtr = std::share_ptr<Scope>;
      58f3de95
    • Y
      Let OpProto support multiple and temporary (#2860) · 2462d0c5
      Yu Yang 提交于
      * Let OpProto support multiple and temporary
      
      * Each input/output of Paddle's Op could be a list. Add multiple mark to
        OpProto. Also add a `input_format`/`output_format` attribute if that
        Op has multiple input or output. The format of that attribute please
        reference the comments in `op_proto.proto`
      * Add temporary mark, because some output of an Op is not used by user
        but used by other op for faster computation. Explicitly mark which
        output is temporary could let future memory/computation optimization.
      * Add generated field to AttrProto.
      
      * Add `AddInputs`/`AddOutputs` function
      
      * It is more readable to invoke `AddInputs` not
        `AddInput(multiple=true)`.
      2462d0c5