In this way we can build and test using WITH_FLUID_ONLY flag being set
to ON.
- move paddle.v2.dataset,reader to paddle.dataset,reader
- remove unused code (which depends on v2) in paddle.dataset,reader
* Make cast op support bool
Also add `elemwise_sub/mul/abs/clip` layers
* Make fuild.layers as a module
* Move layers as a module
* Split layers.py into layers module
* Fix CI
* Fix CI
* PyBind and SWIG of paddle cannot be load in a single Python process,
lazy import all SWIG library of Paddle. Otherwise, the glog, gflags
are imported twice in a same Python process.
* Note that all PyBind11 return C++ std::string as an unicode. For
protobuf, it is need be cast to `str` before use them.
* Add unit test for Get `OpProtos`
* Expose paddle.framework by pybind11
* Export paddle.framework.{Scope, Variable} to paddle.v2.framework.core.
* See python/paddle/v2/framework/tests/test_scope.py for Python usage
* See paddle/pybind/pybind.cc for C++ bind code.
* add copyright
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.