- 09 8月, 2017 1 次提交
-
-
由 Yu Yang 提交于
-
- 08 8月, 2017 2 次提交
-
-
由 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
-
由 Yu Yang 提交于
-
- 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 1 次提交
-
-
由 Qiao Longfei 提交于
* use OperatorPtr = std::shared_ptr<OperatorBase>; * use ScopePtr = std::share_ptr<Scope>;
-