1. 06 5月, 2020 1 次提交
    • L
      [Dy2Stat]Support list pop (#24250) · ac9a7eee
      liym27 提交于
      * Replace dygraph_to_static_func with @declarative or program_translator.get_func in test_list.py
      
      * Add comments in ConditionalBlock.
      
      * Support list pop last item. 
      
      * Support pop the i-th item. 
      
      * Support an empty tensor array as Input in assign op and set the kernel type is float.
      ac9a7eee
  2. 27 4月, 2020 1 次提交
    • C
      [dy2static] Add print transformer and unify print format (#24068) · 9b851ba2
      Chen Weihang 提交于
      * add print transformer & unify print format, test=develop
      
      * remove using of dygraph_to_static_func, test=develop
      
      * remove python stdout capture, test=develop
      
      * fix compatibility problems for PY2, test=develop
      
      * fix detail error, test=develop
      
      * fix type analysis bug, test=develop
      
      * fix print tuple compatible error in PY2, test=develop
      
      * replace get_func to declarative, test=develop
      
      * fix detail bug, test=develop
      
      * fix some detail problems, test=develop
      
      * change visit_call in print transformer, test=develop
      9b851ba2
  3. 21 4月, 2020 1 次提交
  4. 20 4月, 2020 1 次提交
  5. 18 4月, 2020 1 次提交
  6. 17 4月, 2020 2 次提交
  7. 15 4月, 2020 1 次提交
  8. 14 4月, 2020 1 次提交
  9. 13 4月, 2020 1 次提交
  10. 12 4月, 2020 2 次提交
  11. 11 4月, 2020 1 次提交
  12. 10 4月, 2020 2 次提交
  13. 09 4月, 2020 3 次提交
  14. 08 4月, 2020 1 次提交
  15. 03 4月, 2020 2 次提交
  16. 02 4月, 2020 1 次提交
  17. 25 3月, 2020 1 次提交
  18. 19 3月, 2020 1 次提交
  19. 18 3月, 2020 1 次提交
  20. 26 2月, 2020 1 次提交
    • S
      support control flow cond in dygraph mode (#22693) · b813c948
      songyouwei 提交于
      * dygraph support cond op
      test=develop
      
      * unittest coverage
      test=develop
      
      * fix coverage
      test=develop
      
      * fix for coverage
      test=develop
      
      * refine TypeError msg
      test=develop
      
      * remove restrict
      test=develop
      b813c948
  21. 25 2月, 2020 2 次提交
  22. 23 2月, 2020 1 次提交
  23. 17 2月, 2020 1 次提交
  24. 14 2月, 2020 1 次提交
  25. 11 2月, 2020 1 次提交
  26. 06 2月, 2020 1 次提交
  27. 08 1月, 2020 1 次提交
  28. 07 1月, 2020 1 次提交
  29. 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
  30. 24 12月, 2019 1 次提交
  31. 09 12月, 2019 2 次提交
  32. 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