1. 01 8月, 2017 2 次提交
    • Y
      Refine remove std::shared_ptr in Scope · 5d134a03
      Yu Yang 提交于
      * Make interface of Operator to `const Scope&`
      5d134a03
    • Q
      use operator context and infer context (#3024) · 61ebacbc
      Qiao Longfei 提交于
      * use operator context
      
      * optimize code
      
      * update net infershape
      
      * update InferShape
      
      * disable override InferShape(scope) in OperatorBase
      
      * change InferShapeImpl to InferShape
      
      * add template to OperatorContext Input/Output
      
      * merge Input InputVar, Output OutputVar
      
      * change Inputs to MultiInput
      
      * fix conflict
      
      * fix MultiInput bugs and add unit test
      
      * rename KernelContext to ExecutionContext
      
      * clean code
      
      * change InferShape to protected
      
      * fix template bug
      
      * refine code
      
      * use InputVar instead of Input<Variable>
      
      * typo
      
      * optimize code
      61ebacbc
  2. 31 7月, 2017 1 次提交
  3. 26 7月, 2017 1 次提交
  4. 24 7月, 2017 1 次提交
    • Y
      Remove ScopePtr and OperatorPtr · c2543f5b
      Yu Yang 提交于
      * ScopePtr means pointer of scope, but it can be shared or uniqued.
      Change it to std::shared_ptr<Scope> to make code better to read.
      c2543f5b
  5. 18 7月, 2017 1 次提交
  6. 17 7月, 2017 1 次提交
    • Y
      Op varient inputs (#2901) · a0caf234
      Yan Chunwei 提交于
      * add inputs
      
      * add ut for multiple inputs
      
      * fix AddToLayer
      
      * op_desc -> op_proto
      
      * CreateArgumentOffsetMap -> CreateInOutOffsetMap
      
      * move CreateInOutOffsetMap from OperatorBase to op registry
      
      * arg_idxs_ -> in_out_idxs_
      a0caf234
  7. 16 7月, 2017 1 次提交
    • 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
  8. 14 7月, 2017 1 次提交
    • Q
      Optimize ptr (#2851) · 58f3de95
      Qiao Longfei 提交于
      * use OperatorPtr = std::shared_ptr<OperatorBase>;
      * use ScopePtr = std::share_ptr<Scope>;
      58f3de95
  9. 13 7月, 2017 3 次提交
    • Y
      Follow comments · 79b70c2d
      Yu Yang 提交于
      * Convert `op` --> `operators`
      * Remove AddType in OpProtoMaker, because type is part of registry.
      * Rename CPU_OR_GPU --> DEVICE_TYPE in registry macro.
      79b70c2d
    • Y
      Add a sample op, `add_op` · a0aaafe9
      Yu Yang 提交于
      * Refine register methods, make Op can get rid of whole-archieve
      * `USE_OP` before a op is used.
      * Add unittest for add_op.
      a0aaafe9
    • Q
      Add Init to OperatorBase (#2838) · 728665d7
      Qiao Longfei 提交于
      728665d7
  10. 12 7月, 2017 3 次提交
    • Q
      test OpKernel (#2820) · be441f7d
      Qiao Longfei 提交于
      Add unit test for OpKernel
      be441f7d
    • Y
      Add OperatorWithKernel class · 0ff81920
      Yu Yang 提交于
      * User can register OpKernel to its Ops. The OpKernelMap saved in
        OperatorWithKernel. Each Op which inherits OperatorWithKernel will
        use `OpKernel::Compute` instead of Run.
      0ff81920
    • Q
      add operator base (#2725) · a2e5f652
      Qiao Longfei 提交于
      Add OperatorBase.
      
      issue: https://github.com/PaddlePaddle/Paddle/issues/2790
      
      Paddle design the Operator with Kernel. OperatorBase has no type and device information when create, One operator can have multiple kernels, Operator will choose a kernel to run according to context. The kernel should be bind to Operator before or during Operator running.
      a2e5f652