1. 11 7月, 2017 4 次提交
    • F
      Add several interfaces for Tensor class · ca39515e
      fengjiayi 提交于
      1. Add member variable 'DDim dims_' and a getter function 'dims()'.
      'dims' is supposed to hold tensor's shape during Op::InferShape.
      2. Remove 'mutable_data' which use default Place. User must specify a
      explicit Place when call 'mutable_data'.
      3. A PlaceHolder may be shared by more than one tensor, and some of them may be the others' slices. So we add a new member variable 'offset_' for Tensor, which is used to show the byte offset between PlaceHolder::ptr_ and where tensor's data really begins.
      4. Add functions 'ShareDataFrom' and 'Slice' for Tensor.
      
      TODO: Tensor needs a 'CopyFrom' function.
      ca39515e
    • D
      "switch to shared_ptr" · b871641a
      dongzhihong 提交于
      b871641a
    • D
      "support net_proto header" · 18e65b0c
      dongzhihong 提交于
      18e65b0c
    • D
      "move opContext to DeviceContext" · bc021d77
      dongzhihong 提交于
      bc021d77
  2. 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
  3. 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
  4. 05 7月, 2017 3 次提交
  5. 04 7月, 2017 9 次提交
  6. 03 7月, 2017 10 次提交
  7. 29 6月, 2017 3 次提交
  8. 28 6月, 2017 7 次提交
  9. 27 6月, 2017 1 次提交