1. 06 7月, 2017 1 次提交
    • 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
  2. 04 7月, 2017 3 次提交
    • Q
      add op_desc.proto (#2736) · 57171415
      Qiao Longfei 提交于
      * add op_desc.proto
      
      In Operator design, we need a proto message to describe an Operator.
      Third-party language such as python can build this proto message and use
      AddOp(const OpDesc& op_desc) of Paddle core to construct an Op in the
      Network.
      57171415
    • Y
      Add target_link_libraries for cc_library · b7397031
      Yu Yang 提交于
      It will fix #2728.
      
      Maybe it is silly to `target_link_libraries` for static library,
      because a static library do not need to link other libraries. But
      it will tell cmake how to propagate dependencies.
      
      The solution comes from
      [here](http://floooh.github.io/2016/01/12/cmake-dependency-juggling.html).
      
      * Also change op_proto_test DEPS for testing this fix works.
      b7397031
    • Y
      Add DEPS to `proto_library` · 3de3894b
      Yu Yang 提交于
      Missing DEPS will cause compile error when parallel is large.
      3de3894b
  3. 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
  4. 29 6月, 2017 1 次提交
  5. 28 6月, 2017 1 次提交
  6. 27 6月, 2017 1 次提交
  7. 24 6月, 2017 1 次提交
  8. 20 6月, 2017 1 次提交