1. 23 2月, 2021 1 次提交
  2. 19 2月, 2021 1 次提交
    • H
      [Cherry-pick][Dy2stat] Add Support for Tuple in Loop and Refine Error Message (#31036) · 9ad9f357
      Huihuang Zheng 提交于
      * Add Support for Tuple in for Loop (#30998)
      
      Dy2stat didn't support tuple as iteration variable in the past. This PR added there main cases:
      
             1). Non-enumerate case: for var1, var2 in var|var.numpy() will be re-written as:
                for FOR_ITER_TUPLE_PREFIX_x in var | var.numpy():
                  var1 = FOR_ITER_TUPLE_PREFIX_x[0]
                  var2 = FOR_ITER_TUPLE_PREFIX_x[1]
              2). Enumerate out tuple case: for t in enumerate(var|var.numpy) will be rewritten as:
                for FOR_ITER_TUPLE_INDEX_PREFIX_x, FOR_ITER_TUPLE_PREFIX_x in enumerate(var|var.numpy):
                  t = (FOR_ITER_TUPLE_INDEX_PREFIX_x, FOR_ITER_TUPLE_PREFIX_x)
              3). Enumerate inner tuple case: for i, (var1, (var2, va3)) in enumerate(var|var.numpy()) will
              be re-written as:
                for i, FOR_ITER_TUPLE_PREFIX_x in var | var.numpy():
                  var1 = FOR_ITER_TUPLE_PREFIX_x[0]
                  var2 = FOR_ITER_TUPLE_PREFIX_x[1][0]
                  var3 = FOR_ITER_TUPLE_PREFIX_x[1][1]
      
      * Refine fake_interface Error Message (#30981)
      
      Refine fake_interface Error Message
      9ad9f357
  3. 07 2月, 2021 1 次提交
  4. 20 1月, 2021 1 次提交
  5. 14 1月, 2021 1 次提交
  6. 13 1月, 2021 2 次提交
  7. 11 1月, 2021 5 次提交
  8. 08 1月, 2021 1 次提交
    • L
      [cherry-pick] [Dy2Stat] Don't convert to paddle.shape if var_x.shape is not... · 2ba9bdd7
      liym27 提交于
      [cherry-pick] [Dy2Stat] Don't convert to paddle.shape if var_x.shape is not negetive #29965 (#30235)
      
      * [Cherry-Pick 2.0] [Dy2Stat] Don't convert to paddle.shape if var_x.shape is not negetive (#29965)
      
      1. When x is Variable, call nn.shape(x) only in following cases:
       1)The shape of x is used in control flow condition.
       2)The dim to be used is negetive
      2. When x is Variable, but x.shape or x.shape[idx] doesn't contain negetive value, don't convert to paddle.shape()
      
      * [Cherry-Pick 2.0] [Dy2Stat] Use Paddle2.0 api paddle.tensor.array_* (#30156)
      2ba9bdd7
  9. 07 1月, 2021 1 次提交
    • L
      [cherry pick] Some optimizations of elementwise_add, gelu and dropout for AMP (#30152) · 07f68fad
      Leo Chen 提交于
      * Improve performance of elementwise_add grad op (#29187)
      
      * pass stop_gradient for cast op
      
      * improve performance of elementwise_add grad
      
      * use tensor copy async
      
      * dygraph branch
      
      * fix dygraph branch
      
      * add ut
      
      * make gelu fp16 computing more robust (#29484)
      
      * Add fast path for dropout when p == 0  (#29553)
      
      * add fast path for p == 0 in dropout
      
      * add ut
      07f68fad
  10. 06 1月, 2021 1 次提交
    • H
      [Cherry-pick]cherry-pick to Release/2.0 (#30076) · 1ad7fcbf
      huangxu96 提交于
      * add fp16 check into max and avg pool (#29479)
      
      * Add ReserveSpace in dygraph batch_norm. (#29221)
      
      * Add ReserveSpace in dygraph batch_norm.
      
      * Add unittest for reservespace
      
      * add float16 into adaptive_avg_pool2d check list. (#29547)
      1ad7fcbf
  11. 05 1月, 2021 1 次提交
    • L
      [Cherry-pick 2.0] cherry pick 3 PRs about Dynamic-to-Static (#30100) · faeee3c3
      liym27 提交于
      * [cherry-pick 2.0] Fix unitest test_slice (#29740)
      
      Before this commit, test_slice use old api `dygraph_to_static_func` to use Dynamic-t-Static and use Executor explicitly,which is not recommended to users.
      After fixed, use recommended API `paddle.jit.to_static` to replace `dygraph_to_static_func`, which won't trigger the random exception on coverage CI.
      
      * [cherry-pick 2.0][Dy2Stat] Support grammar: for ele in var[idx] (#29541)
      
      Support to transformfor ele in var stms in which var is a slice of Tensor.
      
      * [cherry-pick 2.0][Dy2Stat] Fix bug for loop: a variable is used and created in loop, but used before created (#29769)
      faeee3c3
  12. 04 1月, 2021 1 次提交
  13. 31 12月, 2020 1 次提交
  14. 30 12月, 2020 1 次提交
  15. 28 12月, 2020 2 次提交
    • L
      [Cherry-Pick 2.0][Dy2Stat] 1. Fix bug of for-range stmts. 2. Support that step... · a8b6dd86
      liym27 提交于
      [Cherry-Pick 2.0][Dy2Stat] 1. Fix bug of for-range stmts. 2. Support that step value is negative in for-range stmts (#29519) (#29874)
      
      1. Fix error in _build_cond_stmt of for-range stmts.
      
      2. Support that step value is negative in for-range stmts
      
      3. Fix code because of the diff between Py2 and Py3
      a8b6dd86
    • H
      [Cherry-pick] Cherry-pick of PR#29579 and PR#29617 (#29904) · 63939597
      Huihuang Zheng 提交于
      * [Dy2stat] Enable jit.save to Save Without Running (#29579)
      
      Enable jit.save to Save Without Running.
      
      * Modify CublasHandleHolder to Fix Random Unittest Failure. test=develop (#29617)
      
      Modify CublasHandleHolder from using PADDLE_ENFORCE_CUDA_SUCCESS to PADDLE_RETRY_CUDA_SUCCESS to fix random unittest failure. We checked that the unittest log showed CUDA allocation error at this file, which may due to GPU not enough. We fixed similar failure in the past, so we applied PADDLE_RETRY_CUDA_SUCCESS here.
      63939597
  16. 22 12月, 2020 1 次提交
  17. 17 12月, 2020 2 次提交
  18. 08 12月, 2020 1 次提交
  19. 07 12月, 2020 1 次提交
  20. 04 12月, 2020 6 次提交
  21. 03 12月, 2020 2 次提交
  22. 02 12月, 2020 1 次提交
  23. 01 12月, 2020 2 次提交
  24. 30 11月, 2020 3 次提交
    • Y
      fix docs (#29097) · a069e1ca
      yaoxuefeng 提交于
      a069e1ca
    • L
      Check whether there is any inplace operation affecting gradient calculation. (#27901) · 865a4598
      liym27 提交于
      * Add a class TensorInplaceVersion to count the inplace version and put it in framework::Tensor instead of Allocation or Variable.
      
      * Add a new attribute `_inplace_version` for VarBase.
      
      * Raise exception if an inplace operation can result in incorrect gradient computation.
      
      * Add a new interface _bump_inplace_version() for VarBase to bump the version whenever the Tensor is modified through an inplace operation.
      
      * For api assign, call _bump_inplace_version() when it's an inplace operation inn dynamic mode.
      
      * Use original var_wrapper if the inplace_version is not changed.
      
      * Replace SnapshotVarWrapperList with SnapshotVarWrapper to optimize performane.
      865a4598
    • W
      save model after jit.load (#28748) · 1476e1f9
      WeiXin 提交于
      * Changed a variable name error
      
      * Add comments
      
      * Move member functions of TranslatedLayer out of function
      
      * edit code according to review
      
      * Edit input argument of '_run_static_graph'
      
      * reset due to Segmentation fault
      
      * rename variables when stitching graph
      
      * modify code according CI
      
      * Add comments to '__i_m_p_l__'
      
      * remove blanks befor 'Get...'
      
      * edit code according to review
      
      * Add a comment to '_execution_method_creator'
      
      * Edit a comment to '_execution_method_creator'
      1476e1f9