1. 26 4月, 2020 1 次提交
    • L
      improve efficiency of runtime InferVarType (#22778) · 9a93f6aa
      liuwei1031 提交于
      * save InferVarType changes, test=develop
      
      * remove code comments, test=develop
      
      * tweak code, test=develop
      
      * fix compilation warning, update merge_ids_op split_ids_op to new interface, test=develop
      
      * modify fused_bn_activation_op, test=develop
      
      * fix error of fused_bn_activation_op, test=develop
      
      * fix PADDLE_ENFORCE and unittest coverage issue, test=develop
      
      * tweak PADDLE_ENFORCE messages, test=develop
      
      * improve unittest coverage, test=develop
      
      * add StaticGraphInferVarType class, test=develop
      
      * rebase develop branch, test=develop
      
      * fix unittest error, test=develop
      
      * remove comments, test=develop
      
      * improve unittest coverage, test=develop
      
      * imporve error message and imporve unittest coverage, test=develop
      
      * upgrade InferVarType API, test=develop
      
      * tweak pyfunc error message, test=develop
      
      * fix compilation conflict - save_combine_op, test=develop
      9a93f6aa
  2. 06 12月, 2019 1 次提交
    • H
      Add Much Complex Test and Fix Bugs for Control Flow cond API (#21532) · 1dcf6a72
      Huihuang Zheng 提交于
      Add tests to use dy/dx to make sure the gradient values calculated by the control flow backward is correct. Also fixed bugs detected by those tests.
      
      Fix bugs:
      
      1. Unlike sum_op, optimizer ops don't allow uninitialized input tensor. But in conditional_block_grad_op, since the conditional_block may not run, the output gradient tensor may be uninitialized, which will cause the optimizer op error. To fix it, we should let optimizer ops support uninitialized input like sum_op or assign the uninitialized gradient to 0 when the conditional_block_grad_op doesn't run. I found there are about 10+ optimizer ops. **To be simpler, I just assign output gradient of the conditional_block_grad_op to 0 in this PR**. But it can be further explored whether we can make optimizer ops like sum_op to support uninitialized input tensor because theoretically we can speed up without the assigning in conditional_block_grad_op.
      
      2. Infer parameter shapes during append_backward. I didn't know that all our parameters are in global block. When op_desc is inferring shapes at the sub-block, it may not know the shape of gradients of parameters whose shape information is at global block. I fixed it by inferring shapes of gradients from forward var.
      
      This PR also did some code clean up:
      1. Print the var name when sgd_op catches shape error so that it is easier to debug
      2. Fix a typo: dicta -> dict
      1dcf6a72
  3. 29 11月, 2019 1 次提交
  4. 31 10月, 2019 1 次提交
    • H
      GradMaker for dygraph (#19706) · 8c4573a3
      hong 提交于
      * refactor dygraph,test=develop
      
      * fix failed unittest,test=develop
      
      * polish code,test=develop
      
      * check windows ci error,test=develop
      try to fix windows ci error by np.allclose,test=develop
      
      * polish vlog and profiler, test=develop
      
      * try to fix preceding ops order,test=develop
      
      * test transformer in windows ci, test=develop
      
      * use python c-api to speed up tracer.trace,test=develop
      
      * test=develop, fix docker with paddle nccl problem
      
      * test=develop, add ut for debug string and gradient_accumulator
      
      * test=develop, add tests for layer/gradient_accumulator/prepared_op
      
      * test=develop, fix complie error for test_prepared_op
      
      * test=develop, add more ut for dygraph
      
      * test=develop, create API.spec for dygraph api change
      
      * optimize grad maker; test=develop
      
      * optimize grad maker
      
      * test
      
      * grad make optim; test=develop
      
      * fix unittest bugs; test=develop
      
      * add dygraph grad op maker and split_op
      
      * grad op maker refactor; test=develop
      
      * add dygraph grad maker; test=develop
      
      * fix op deformable_conv_v1_op bug; test=develop
      
      * fix deformable_conv prroi pool bugs;
      
      * fix new op grad op maker bug; test=develop
      
      * fix split by ref bug; test=develop
      
      * fix dygraph auto prune bug; test=develop
      
      * fix test_trace bug; test=develop
      
      * fix fused emb seq pool bug; test=develop
      
      * remove useless code in op_desc file; test=develop
      
      * remove useless code, StrVarBaseNode; test=develop
      
      * fix review issues; test=develop
      
      * fix rank_loss grad maker; test=develop
      
      * remove flag in VarBase; test=develop
      
      * fix distributed_notify_op compile bug ; test=develop
      
      * fix reshape op double grad; test=develop
      
      * fix expand as op; test=develop
      
      * add impertive type_defs.h for demo_train; test=develop
      
      * fix inference lib cmake; test=develop
      
      * fix inference lib; test=develop
      
      * fix infernce_lib; test=develop
      
      * fix inference cmake; test=develop
      
      * fix inference lib; test=develop
      
      * fix inference lib; test=develop
      
      * remove condition dygraph grad maker, modify local name; test=develop
      
      * fix split grad maker bug; test=develop
      
      * fix pyramid_op bug; test=develop
      
      * change travis time out limit; test=develop
      
      * restore travis; test=develop
      
      * change timeout limit; test=develop
      8c4573a3
  5. 28 10月, 2019 1 次提交
  6. 24 10月, 2019 1 次提交
  7. 04 9月, 2019 1 次提交
  8. 04 7月, 2019 1 次提交
  9. 19 3月, 2019 1 次提交
  10. 18 3月, 2019 1 次提交
  11. 15 3月, 2019 1 次提交
  12. 16 11月, 2018 1 次提交
    • W
      Refine operator cmake (#14413) · a2d9b344
      Wu Yi 提交于
      * wip simplify operator framework
      
      * wip
      
      * wip
      
      * done test=develop
      
      * clean test=develop
      
      * fix test=develop
      
      * fix deps test=develop
      
      * fix cpu build test=develop
      
      * fix tensorrt build test=develop
      
      * fix tests test=develop
      
      * fix test=develop
      
      * fix cpu build test=develop
      a2d9b344
  13. 22 10月, 2018 1 次提交
  14. 15 10月, 2018 1 次提交
    • C
      Add check for opt op (#13840) · 8e2fdc54
      chengduo 提交于
      * add check for opt op
      
      * fix opt op
      test=develop
      
      * fix test fail
      test=develop
      
      * fix optimization doc
      test=develop
      
      * test=develop
      8e2fdc54
  15. 11 6月, 2018 1 次提交
  16. 08 5月, 2018 1 次提交
    • Y
      Clean OpProtoAndCheckerMaker · 0e78cb69
      Yu Yang 提交于
      Do not use ctor
      
      * Reduce line of codes.
      * We can use virtual function for Maker now.
      * The implementation does not care what maker holds, it is easier to
      refactor later.
      0e78cb69
  17. 26 4月, 2018 1 次提交
  18. 12 4月, 2018 1 次提交
    • Q
      Dist transpiler support prefetch (#9714) · 4c55a602
      Qiao Longfei 提交于
      * init
      
      * add some check
      
      * add dist transpile logic
      
      * add insert op for block
      
      * init change get_pserver_program
      
      * optimize code
      
      * fix a bug
      
      * can run now
      
      * start to do table split
      
      * start to process table gradient
      
      * complete pserver part
      
      * can send_vars now
      
      * revert cpplint
      
      * fix a bug
      
      * optimize code
      
      * move dist test to models
      
      * revert the interface of distribute_transpiler.transpile
      
      * fix prefetch_block
      
      * optimize trainspiler code
      
      * add comment to sum_op
      
      * add warning log
      
      * fix comment
      
      * fix test_send_recv
      
      * fix test_send_recv
      
      * fix train with no distributed table
      
      * optimize GetDims
      4c55a602
  19. 04 4月, 2018 1 次提交
  20. 03 4月, 2018 1 次提交
  21. 09 3月, 2018 1 次提交
  22. 12 2月, 2018 1 次提交
  23. 10 2月, 2018 2 次提交
  24. 23 12月, 2017 1 次提交
  25. 20 12月, 2017 1 次提交
  26. 12 12月, 2017 1 次提交
    • Q
      Refine device context (#6433) · 61ec0b95
      QI JUN 提交于
      There are mainly following fixes:
      
      - take `DeviceContext` as the template parameter of math functors and OpKernel instead of `Place`
      - remove `eigen_device` interface in base class  `DeviceContext`
      - remove `GetEigenDevice` interface in `ExecutionContext` and base class `DeviceContext`
      - remove unused `platform::EigenDeviceConverter`
      - rename `REGISTER_OP_GPU_KERNEL` to `REGISTER_OP_CUDA_KERNEL`
      - rename `USE_GPU_ONLY_OP` to `USE_CUDA_ONLY_OP`
      61ec0b95
  27. 27 11月, 2017 1 次提交
  28. 04 11月, 2017 1 次提交
  29. 29 10月, 2017 1 次提交
    • Q
      support sparse output for lookup table grad op (#5145) · 008f40ce
      QI JUN 提交于
      * add sparse support for sum op
      
      * typo fix
      
      * fix gpu build error
      
      * fix unittest error
      
      * typo fix
      
      * infer var type and shape in op_test
      
      * follow comments
      
      * fix build error
      
      * bypass some unittests depend on NetOp
      
      * support sparse output for lookup table grad op
      
      * refine codes
      
      * fix gpu build error
      
      * fix lookup table grad gpu kernel
      
      * fix ci
      
      * fix ci
      
      * fix ci
      
      * fix bug in lookup_table_grad op
      
      * fix bug in test_word2vec
      
      * register double kernel for some operators
      
      * set is_sparse=True in test_word2vec
      
      * fix lookup table grad op CUDA kernel bug
      
      * disable test_modified_huber_loss_op temporarily
      
      * disable test_lstm_unit_op temporarily
      008f40ce
  30. 18 10月, 2017 2 次提交
  31. 17 10月, 2017 1 次提交
  32. 07 10月, 2017 1 次提交
  33. 05 10月, 2017 1 次提交
  34. 04 10月, 2017 1 次提交
  35. 03 10月, 2017 1 次提交
  36. 27 9月, 2017 1 次提交
    • Q
      Refactoring InferShape (#3946) · 9a9d50a6
      Qiao Longfei 提交于
      * init Infershape
      
      * add static InferShape interface
      
      * refactor add-op infershape
      
      * add AttrReader
      
      * add all maker's infershape
      
      * add all InferShape
      
      * add python infer api
      
      * add VarDesc interface
      
      * add python VarDesc and OpDesc interface
      
      * update python code
      
      * use infershape function to do shape inference
      
      * clean code
      
      * do not use pointer
      
      * refine code of op_proto_maker
      
      * add get_dims to VarDesc
      
      * refine the code
      
      * remove the dependency from operator to op registry
      
      * remove OpProtoAndCheckerMaker from operator
      
      * restore complete_add_op
      
      * add shape_infer_impl.h
      
      * code optimization
      
      * remove const return value
      
      * add fake BlockDesc class
      
      * optimize code
      
      * remove infer function in op_info
      
      * move InferShapeContextImpl to operator.h
      
      * optimize the interface of InferShapeContextBase
      
      * add temperary interface of new infershape
      
      * change add_op, clip_op, conv2d_op and activation_op
      
      * change all operators InferShape
      
      * fix SetDim
      
      * update cos_sim_op
      
      * update crop_op
      
      * update lookup_table_op
      
      * allocate tensor when call GetDim in InferShapeContext
      
      * update modified_huber_loss_op
      
      * update rowwise_add_op
      
      * update mean_op
      
      * update sequence_avg_pool_op
      
      * typo
      
      * remove old InferShape interface
      
      * can compile
      
      * fix or unit test
      
      * clean code
      
      * clean code
      
      * remove const before InferShapeContext
      
      * change InferenceContextBase to pointer
      
      * rename RunTime to Runtime, code clean
      9a9d50a6
  37. 21 9月, 2017 1 次提交
  38. 15 9月, 2017 1 次提交