- 18 7月, 2017 10 次提交
-
-
由 Yu Yang 提交于
* Not use __CUDACC__ macro, because malloc in GPU memory do not have to used in .cu file. * Also, `PADDLE_ENFORCE` logic is wrong.
-
由 Yu Yang 提交于
-
由 Yu Yang 提交于
-
由 Helin Wang 提交于
-
由 Yu Yang 提交于
* `in_out_idxs_` shares between all operator instance in same type of operator.
-
由 Yu Yang 提交于
Net::DebugString() print what it is and invokes inner operators DebugString() with a prefix '\t'.
-
由 Yu Yang 提交于
* There is a merge conflict when merge PR #2914 * Develop and PR #2914 both add `DDim::size` method, but did not triger git merge conflict while merge.
-
由 Qiao Longfei 提交于
-
由 Yu Yang 提交于
* Follow review comments to seperate Tensor Numpy interactive methods in tensor.h. * Simplify logic for `CastToPyBufferImpl`, make it as one struct and in details namespace. * Remove `Scope` expose in Python, since it currently is useless. * Remove some debug functions.
-
由 Helin Wang 提交于
-
- 17 7月, 2017 20 次提交
-
-
由 Yu Yang 提交于
Basically following http://pybind11.readthedocs.io/en/stable/advanced/pycpp/numpy.html * Use buffer protocol to return a view of Tensor. It can be cast to numpy array in Python. * Set a numpy array to a tensor.
-
由 Yu Yang 提交于
-
由 fengjiayi 提交于
-
由 fengjiayi 提交于
-
由 Yu Yang 提交于
-
由 Yu Yang 提交于
* Also fix unit test
-
由 qijun 提交于
-
由 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_
-
由 Yu Yang 提交于
* Implement InferShape and register them, give a stub Kernel method by LOG(INFO)
-
由 qijun 提交于
-
由 Yu Yang 提交于
-
由 Qiao Longfei 提交于
-
由 Liu Yiqun 提交于
-
由 Yan Chunwei 提交于
* add NDEBUG switch to PADDLE_ENFORCE
-
由 Yu Yang 提交于
-
由 fengjiayi 提交于
-
由 qijun 提交于
-
由 武毅 提交于
* using etcd as fault tolerant training * update * workable version, ft not tested * small fix * update * remove TODO
-
由 qijun 提交于
-
由 jc 提交于
-
- 16 7月, 2017 5 次提交
-
-
由 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
-
由 fengjiayi 提交于
-
由 fengjiayi 提交于
1. Refactor DDim's product() to make it more efficiently. 2. Add slice_ddim().
-
由 Qiao Longfei 提交于
* add ADD_OP_CPU to enable add op with only cpu kernel
-
由 Yu Yang 提交于
* It is used to create an operator library. It handles to split CPU and GPU sources and links operator common libraries. * It also give a reasonable warning and error when operator developer not correctly implement an operator. * Warning for lack of GPU kernel. * Same interface as `cc_library` to make code style consistent.
-
- 15 7月, 2017 5 次提交
-
-
由 Yu Yang 提交于
All OpCreation method are generated by `create_op_creation_methods::__bootstrap__` method, and stores in `op_creations` object and its methods. There are three parts to implement this feature. 1. Get all registered `OpProto` from C++ side. It is implemented in `get_all_op_protos` method. 1. Create a function to convert `kwargs` to `OpDesc` base on each op's `OpProto`. The `OpDescCreationMethod` class. 1. Convert `OpProto` to `docstring` by `get_docstring_from_op_proto` method. All three methods are unit tested. The `__bootstrap__` just combines them together and create a method in runtime. For details, please reference the doc string in `create_op_creation_methods.py` and the unit test `test_op_creation_methods.py`.
-
由 fengjiayi 提交于
-
由 fengjiayi 提交于
-
由 fengjiayi 提交于
-
由 fengjiayi 提交于
-