1. 20 1月, 2020 1 次提交
    • Z
      Polish backward.py to prune more ops (#22246) · 039bb505
      Zeng Jinle 提交于
      * polish backward prune, test=develop
      
      * fix control flow op bug, test=develop
      
      * add some unittests, test=develop
      
      * fix unittest args, test=develop
      
      * follow huihuang's comments, test=develop
      039bb505
  2. 16 1月, 2020 1 次提交
  3. 04 1月, 2020 1 次提交
    • L
      control flow: support optimizer called (#21851) · 7d8d4599
      liym27 提交于
      * append optimize op in the grad block of current block if current block is in control flow. test=develop
      
      * add conditional grad op when optimizer used in control flow. test=develop
      
      * add comment and modify typo. test=develop
      
      * fix append_backward to support control flow. test=develop
      
      * add test. test=develop
      
      * fix copy_var_to_parent_block and conditional_block_grad. test=develop
      
      * fix bug: revert to append conditional_block_grad vars to sub grad block. test=develop
      
      * fix bug: revert to assign var to parent block even if var already is in parent block
      
      * fix bug: consider outputs is empty. test=develop
      
      * move _rename_grad_ out. test=develop
      
      * modify code according to reviews from Huihuang. test=develop
      
      * modify code according to reviews from Jinle. test=develop
      7d8d4599
  4. 01 1月, 2020 1 次提交
  5. 18 12月, 2019 1 次提交
  6. 10 12月, 2019 1 次提交
  7. 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
  8. 29 11月, 2019 1 次提交
    • H
      Fix Cond Bug for Nested Control Flow (#21340) · 630be319
      Huihuang Zheng 提交于
      * Commit before merging develop
      
      test=develop
      
      * Backup after working with Huihuang logs
      
      * Commit before deleting Huihuang debug loggings
      
      * Commit before debug
      
      test=develop
      
      * Fix bug commit
      
      test=develop
      
      * Backup of fixing bugs
      
      test=develop
      
      * Clean up code
      
      test=develop
      
      * Fix a bug in sum_op
      
      test=develop
      630be319
  9. 30 10月, 2019 1 次提交
  10. 19 10月, 2019 1 次提交
  11. 13 10月, 2019 1 次提交
    • L
      fill_constant support Tensor; (#20521) · fc6ec3b9
      liym27 提交于
      2. fix bug in backward.py: using fill_constant instead of fill_constant_batch_size_like
      3. fix bug in ExpandGradOp.
      
      test=develop
      fc6ec3b9
  12. 09 10月, 2019 2 次提交
  13. 26 9月, 2019 1 次提交
    • M
      fix doc of apply_optimize (#19965) · d62360fe
      mapingshuo 提交于
      * fix doc of apply_optimize
      test=document_fix
      test=document_preview
      
      * modify doc of backward
      test=develop
      test=document_fix
      
      * modify document hash
      test=develop
      test=document_preview
      d62360fe
  14. 23 9月, 2019 1 次提交
    • M
      Forward recompute3 (#19913) · 9901f696
      mapingshuo 提交于
      * add recompute based checkpoints methods for large batch training
      test=develop
      
      * add append_backward_with_forward_recomputation
      test=develop
      
      * refine optimizer
      test=develop
      
      * update backward and optimizer
      test=develop
      
      * make Variable usable
      test=develop
      
      * add recompute code
      
      * refine optimizer
      test=develop
      
      * refine addup _append_backward_ops_with_checkpoints_
      1) for recompute part, just cache the grad_op_desc without appending to block
      2) before appending grad_op_desc to backward part, addup_repetitive_vars, remove unused branch
      test=develop
      
      * make method private
      
      * add recompute strategy into DistributedStrategy
      test=develop
      
      * checkpoint version3
      test=develop
      
      * remove some print information
      test=develop
      
      * remove unused sumop
      test=develop
      
      * try to fix recompute with graph building modules
      
      * add input names to vars should be held
      
      * add memory debug tool
      
      * backup backward
      
      * Fix bugs
      
      * add backward desc for op not in any segments
      
      * add exception info for sub_block
      
      test=develop
      
      * modify code style
      
      test=develop
      
      * modify code style
      
      test=develop
      
      * remove print functions
      
      test=develop
      
      * add API spec
      
      test=develop
      test=document_preview
      
      * make Recompute a child class of Optimizer
      
      test=develop
      test=document_preview
      
      * add API spec
      
      test=develop
      test=document_preview
      
      * modify API spec
      
      test=develop
      test=document_preview
      
      * add document for Recompute
      
      test=develop
      test=document_preview
      
      * change API doc of Rcompute
      
      test=develop
      test=document_preview
      
      * code cleaning
      
      test=develop
      test=document_preview
      
      * modify API spec
      
      * fix bugs when segments hold no element
      
      * add testcase for Recompute Optimizer
      
      test=develop
      test=document_preview
      
      * add test for apply_gradient, and code cleaning
      
      test=develop
      test=document_preview
      
      * add test case for load function
      
      * enable CI
      
      test=develop
      test=document
      
      * add test case
      
      test=develop
      test=document_preview
      
      * add sample code for 4 function of recompute optimizer
      
      test=develop
      test=document_preview
      9901f696
  15. 11 9月, 2019 1 次提交
    • Y
      fix api-doc error for dygraph and backward (#19721) · 3e5fb636
      Youwei Song 提交于
      * update dygraph api-doc and backward api-doc, test=develop
      
      * update dygraph api-doc and backward api-doc, update api.spec, test=develop
      
      * update dygraph api-doc and backward api-doc, update api.spec, test=develop
      
      * update API.spec, test=develop
      3e5fb636
  16. 26 8月, 2019 1 次提交
  17. 24 7月, 2019 1 次提交
  18. 02 7月, 2019 1 次提交
  19. 01 7月, 2019 1 次提交
  20. 16 6月, 2019 1 次提交
  21. 16 5月, 2019 1 次提交
  22. 08 5月, 2019 1 次提交
    • L
      Repair api example (#17221) · e388a1fb
      lujun 提交于
      Fix the following API examples:
      
      paddle.fluid.scope_guard
      paddle.fluid.backward.append_backward
      paddle.fluid.cpu_places
      paddle.fluid.cuda_pinned_places
      paddle.fluid.cuda_places
      paddle.fluid.in_dygraph_mode
      paddle.fluid.CUDAPlace
      paddle.fluid.CPUPlace
      paddle.fluid.CUDAPinnedPlace
      e388a1fb
  23. 23 4月, 2019 1 次提交
    • Q
      Support backward of backward for Relu and add a new gradient checker by... · c1c2633a
      qingqing01 提交于
      Support backward of backward for Relu and add a new gradient checker by comparing theoretical and numerical Jacobian. (#16862)
      
      * Support backward of backward and a new gradient checker
      * Rename decorators.py to decorator_helper.py, since Python on Windows CI has decorators package.
      
      1. Add ReluDoubleGradMaker when register relu_grad.
      2. Add a new gradient checker by comparing theoretical and numerical Jacobian.  Check double gradients by double_grad_check.
      c1c2633a
  24. 03 4月, 2019 1 次提交
  25. 19 12月, 2018 1 次提交
  26. 18 12月, 2018 1 次提交
  27. 13 12月, 2018 1 次提交
  28. 26 9月, 2018 1 次提交
  29. 18 9月, 2018 1 次提交
  30. 15 8月, 2018 2 次提交
  31. 14 8月, 2018 3 次提交
  32. 10 8月, 2018 2 次提交
  33. 09 8月, 2018 1 次提交
  34. 07 8月, 2018 1 次提交
    • M
      Fix pybind11 problem · 6abe819f
      minqiyang 提交于
      Fix str and bytes problem
      Fix sorted problem
      Fix math problem
      Fix CI problem
      6abe819f
  35. 06 8月, 2018 1 次提交