1. 17 7月, 2017 1 次提交
  2. 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
  3. 13 7月, 2017 2 次提交
    • 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
      fix bug in dynload · 4e918377
      qijun 提交于
      4e918377
  4. 12 7月, 2017 2 次提交
  5. 11 7月, 2017 3 次提交
    • Y
      Move static variable defined in .cc (#2782) · 267f9a2c
      Yu Yang 提交于
      * Move static variable defined in .cc
      
      We cannot define static variable in .h, because it will be multi-defined
      errors.
      
      Also fix some cpp syntax, like:
      
      * Prefer to use algorithm not manually for-loop, to make code more
        readable.
      * Remove unused `()`.
      * Enforce take a bool. It is no need `xxx==true`.
      * Use range-based for-loop iterator from op_desc.attrs
      
      * Fix a protential static variable init order error
      267f9a2c
    • Y
      Simplelize framework/CMakeLists.txt (#2803) · abff52ab
      Yu Yang 提交于
      * generic.cmake can propogate dependencies through libraries. It is no
        need to specific all dependencies.
      abff52ab
    • D
      "support net_proto header" · 18e65b0c
      dongzhihong 提交于
      18e65b0c
  6. 07 7月, 2017 1 次提交
    • F
      [draft] add registry for Op, OpProto and OpAttrChecker (#2739) · 1d2ef1db
      fengjiayi 提交于
      * init op_registry.h
      
      * dev op_registry.h
      
      * add 'attr_checker.h', which is a draft of op attribute checker.
      
      * rename some macro parameters
      
      * 1. Use `Attribute` and `AttributeMap` instead of `OpDesc`. `AttributeMap` is a unordered_map of <string, Attribute>, and `Attribute` is a boost::variant object to hold multiple types of attribute value.
      2. Use `PADDLE_ENFORCE` to print checkers' fail message.
      3. Abstract default value operations to a new function: `DefaultChecker`.
      
      * rename DefaultChecker to DefaultValueSetter
      
      ZZ
      
      * Finish op_registry
      
      1. Complete the development of interfaces between OpRegistry and
      Protobuf.
      2. Add unit test for op_registry.h
      
      * Add demo and test of custome checker
      
      * fix merge conflict
      1d2ef1db
  7. 06 7月, 2017 2 次提交
    • Y
      Generate python protobufs for paddle.v2.framework · e2ea1f42
      Yu Yang 提交于
      Python should be able to manipulate Protobuf message because:
      
      1. Python's `create_op_creation_methods` take the `OpProto` array to
         generate all `op_creation_methods` in RunTime.
      
      2. All `op_creation_methods` will create an `OpDesc` and pass it to
         Paddle C++ method `CreateOp` and return the Op handle.
      
      Here is the list of what is added in this commit:
      
      * Add `protobuf_generate_python` if it is not defined.
        * Before cmake 3.4, `protobuf_generate_python` is not defined. Just
          copy the implementation of that function in `protobuf.cmake`
      * Add `py_proto_compile` function in `cmake/generic.cmake`.
        * It follows bazel's API interface.
          * https://github.com/pubref/rules_protobuf#rules
      * Add an empty package named `paddle.v2.framework`, all python code of
        `paddle::framework` will be in that package.
      * Generate protobuf's python module `__init__.py` by `touch` while
        compiling.
      * Change setup.py.in, make `paddle.v2.framework.proto` uses the
        generated protobuf pythons.
      e2ea1f42
    • S
      fix ci · 1264480b
      Superjom 提交于
      1264480b
  8. 04 7月, 2017 6 次提交
  9. 03 7月, 2017 4 次提交
    • Y
      Fix link error in op_proto_test. · 3f63d96a
      Yu Yang 提交于
      3f63d96a
    • Y
      Add OpProto unittest. · 9bf98168
      Yu Yang 提交于
      9bf98168
    • Y
      Add OpProto implementation · bdd27208
      Yu Yang 提交于
      OpProto is a proto message that helps 3rd-party language bindings, e.g.
      `Python`, to generate operator creation methods. The operator creation
      method is the low-level API for 3rd-party language bindings. Op creation
      methods take the user's input in that language, and convert users inputs
      into `OpDesc` message, then passing that `OpDesc` message to Paddle's
      C++ core and create an operator.
      
      * A separated `attr_type.proto` is added, because that file wound
        be included by `op_desc.proto` in future.
      bdd27208
    • F
      init tensor_test.cc · 696ba1d2
      fengjiayi 提交于
      696ba1d2
  10. 29 6月, 2017 1 次提交
  11. 28 6月, 2017 1 次提交
  12. 27 6月, 2017 1 次提交
  13. 24 6月, 2017 1 次提交
  14. 20 6月, 2017 1 次提交