1. 08 8月, 2017 1 次提交
    • Q
      add gradient test framework (#3226) · e31a469e
      Qiao Longfei 提交于
      * init grad op checker
      
      * can run
      
      * add GradeChecker class
      
      * use get_numeric_gradient
      
      * refine code
      
      * add softmax and cross entropy auto grad test
      
      * use close to judge op_grad and numeric_grad
      
      * add cpu and gpu compare
      
      * add comments
      
      * add support_gpu
      
      * fix allclose
      
      * fix name error and symplify code
      
      * optimize gradient checker
      
      * add test_cross_entropy_op
      
      * update gradient_checker.py
      
      * optimize code
      
      * use random.uniform instead of random.random
      
      * fix type bug
      
      * optimize check_grad
      
      * put SupportGPU into OperatorBase
      
      * typo
      e31a469e
  2. 07 8月, 2017 1 次提交
  3. 04 8月, 2017 4 次提交
  4. 03 8月, 2017 1 次提交
  5. 02 8月, 2017 1 次提交
  6. 26 7月, 2017 4 次提交
  7. 25 7月, 2017 1 次提交
  8. 24 7月, 2017 4 次提交
  9. 20 7月, 2017 5 次提交
  10. 19 7月, 2017 4 次提交
  11. 18 7月, 2017 5 次提交
  12. 17 7月, 2017 3 次提交
  13. 16 7月, 2017 2 次提交
    • 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
    • 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
  14. 15 7月, 2017 1 次提交
    • 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
  15. 14 7月, 2017 3 次提交
    • 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
    • Y
      Init commit · cd5113c1
      Yu Yang 提交于
      cd5113c1