- 08 8月, 2017 1 次提交
-
-
由 Qiao Longfei 提交于
* init grad op checker * can run * add GradeChecker class * use get_numeric_gradient * refine code * add softmax and cross entropy auto grad test * use close to judge op_grad and numeric_grad * add cpu and gpu compare * add comments * add support_gpu * fix allclose * fix name error and symplify code * optimize gradient checker * add test_cross_entropy_op * update gradient_checker.py * optimize code * use random.uniform instead of random.random * fix type bug * optimize check_grad * put SupportGPU into OperatorBase * typo
-
- 07 8月, 2017 1 次提交
-
-
由 Qiao Longfei 提交于
* add support_gpu * fix allclose * fix name error and symplify code
-
- 04 8月, 2017 4 次提交
- 03 8月, 2017 1 次提交
-
-
由 fengjiayi 提交于
-
- 02 8月, 2017 1 次提交
-
-
由 dongzhihong 提交于
-
- 26 7月, 2017 4 次提交
- 25 7月, 2017 1 次提交
-
-
由 qijun 提交于
-
- 24 7月, 2017 4 次提交
-
-
由 fengjiayi 提交于
-
由 fengjiayi 提交于
OLD: op_type -> grad_op_creator NEW: grad_op_type -> grad_op_creator op_type -> grad_op_type
-
由 fengjiayi 提交于
Replace `OperatorPtr` with `std::shared_ptr<OperatorBase>`
-
由 Yu Yang 提交于
* ScopePtr means pointer of scope, but it can be shared or uniqued. Change it to std::shared_ptr<Scope> to make code better to read.
-
- 20 7月, 2017 5 次提交
-
-
由 fengjiayi 提交于
-
由 fengjiayi 提交于
-
由 dongzhihong 提交于
-
由 dongzhihong 提交于
-
由 fengjiayi 提交于
-
- 19 7月, 2017 4 次提交
-
-
由 dongzhihong 提交于
-
由 fengjiayi 提交于
-
由 dongzhihong 提交于
-
由 fengjiayi 提交于
We put forward Op's inputs, outputs and output gradients into Grad Op's inputs, and put forward Op's input gradients into Grad Op's output. So Grad Op's `in_out_idx`, `input_format` and 'output format' need to be rebuilt during Op creating.
-
- 18 7月, 2017 5 次提交
-
-
由 fengjiayi 提交于
-
由 dongzhihong 提交于
-
由 Yu Yang 提交于
-
由 Yu Yang 提交于
* `in_out_idxs_` shares between all operator instance in same type of operator.
-
由 Qiao Longfei 提交于
-
- 17 7月, 2017 3 次提交
-
-
由 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_
-
由 Qiao Longfei 提交于
-
由 Yu Yang 提交于
-
- 16 7月, 2017 2 次提交
-
-
由 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
-
由 Qiao Longfei 提交于
* add ADD_OP_CPU to enable add op with only cpu kernel
-
- 15 7月, 2017 1 次提交
-
-
由 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`.
-
- 14 7月, 2017 3 次提交
-
-
由 Qiao Longfei 提交于
* use OperatorPtr = std::shared_ptr<OperatorBase>; * use ScopePtr = std::share_ptr<Scope>;
-
由 Yu Yang 提交于
* Let OpProto support multiple and temporary * Each input/output of Paddle's Op could be a list. Add multiple mark to OpProto. Also add a `input_format`/`output_format` attribute if that Op has multiple input or output. The format of that attribute please reference the comments in `op_proto.proto` * Add temporary mark, because some output of an Op is not used by user but used by other op for faster computation. Explicitly mark which output is temporary could let future memory/computation optimization. * Add generated field to AttrProto. * Add `AddInputs`/`AddOutputs` function * It is more readable to invoke `AddInputs` not `AddInput(multiple=true)`.
-
由 Yu Yang 提交于
-