1. 17 7月, 2017 13 次提交
  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 5 次提交
    • Y
      Python Generate OpCreation Methods by OpProto · 9e0c6800
      Yu Yang 提交于
      All OpCreation method are generated by
      `create_op_creation_methods::__bootstrap__` method, and stores in
      `op_creations` object and its methods.
      
      There are three parts to implement this feature.
      
      1. Get all registered `OpProto` from C++ side. It is implemented in
      `get_all_op_protos` method.
      1. Create a function to convert `kwargs` to `OpDesc` base on each op's
      `OpProto`. The `OpDescCreationMethod` class.
      1. Convert `OpProto` to `docstring` by `get_docstring_from_op_proto`
      method.
      
      All three methods are unit tested. The `__bootstrap__` just combines
      them together and create a method in runtime.
      
      For details, please reference the doc string in
      `create_op_creation_methods.py` and the unit test
      `test_op_creation_methods.py`.
      9e0c6800
    • F
      add slice_dim draft · ee90c2d2
      fengjiayi 提交于
      ee90c2d2
    • L
      FIX: virtual OptimizerTest · ab8c7f11
      liaogang 提交于
      ab8c7f11
    • L
      FIX: cppint code style · 569f7e83
      liaogang 提交于
      569f7e83
    • L
      FIX: cpplint code style · 620575b6
      liaogang 提交于
      620575b6
  4. 14 7月, 2017 17 次提交
    • 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
    • H
      Remove useless empty pointer check. · 010adb99
      hedaoyuan 提交于
      010adb99
    • L
      update · 033523ea
      liaogang 提交于
      033523ea
    • L
      Fix: alignment metric · ea916c84
      liaogang 提交于
      ea916c84
    • Y
      Init commit · cd5113c1
      Yu Yang 提交于
      cd5113c1
    • L
      Fix condition compile · 21b7915d
      liaogang 提交于
      21b7915d