1. 18 2月, 2021 1 次提交
    • H
      Add Support for Tuple in for Loop (#30998) · c1375783
      Huihuang Zheng 提交于
      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]
      c1375783
  2. 27 1月, 2021 1 次提交
  3. 20 1月, 2021 1 次提交
  4. 14 1月, 2021 1 次提交
  5. 11 1月, 2021 2 次提交
  6. 08 1月, 2021 3 次提交
  7. 21 12月, 2020 1 次提交
  8. 18 12月, 2020 2 次提交
  9. 14 12月, 2020 1 次提交
    • L
      [Dy2Stat] 1. Fix bug of for-range stmts. 2. Support that step value is... · 0cad1152
      liym27 提交于
      [Dy2Stat] 1. Fix bug of for-range stmts. 2. Support that step value is negative in for-range stmts (#29519)
      
      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
      0cad1152
  10. 04 12月, 2020 2 次提交
  11. 03 12月, 2020 1 次提交
    • L
      [Dy2stat] Add a decorator paddle.jit.not_to_static to support that not to... · b9a8ebd5
      liym27 提交于
      [Dy2stat] Add a decorator paddle.jit.not_to_static to support that not to convert a function in Dynamic-to-Static. (#29253)
      
      Usage scenarios:A function could have run successfully in static mode,  you can use it to decorate a function in the following cases:
        1. An unknown error occurs in the dynamic-to-static conversion process of the function;
        2. In the internal implementation of the function, it has two branches: dynamic branch and static branch;
        3. Users don't want to convert the function in the process of dynamic to static.
      b9a8ebd5
  12. 02 12月, 2020 1 次提交
    • H
      [Dy2stat] Fix PaddleGan Deoldify Model Dy2stat Problems (#29226) · aec05d81
      Huihuang Zheng 提交于
      This PR fixes several problems in dy2stat for Deoldify model in PaddleGan.
      
      In model, software engineer wrote if x.shape == y.shape, the Tenser shape is a tuple in dygraph so the == returns True/False, but in static graph the == becomes element-wise comparison, which is a different behavior. In this PR we reduce the element-wise comparison result.
      
      If software engineer write computations which uses parameters in hooks, the static graph can loss the parameter variable because we put param_guard at forward of a Layer. In this PR we made param_guard cover pre-hook and post-hook.
      
      In PaddleGan, software engineer calculated some parameter values in __init__ by running some dygraph code. Those code also run during dy2stat. So some variables may be assign as a VarBase (Tensor) first and then Variable, which raised an error. We fixed the bug in this PR by handling the case.
      
      TODO: We just added testcase for the 1. shape comparison. Should add test case for 2. and 3. But since we are chasing 2.0RC, I will do it in the near future PR
      aec05d81
  13. 30 11月, 2020 1 次提交
    • 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
  14. 28 11月, 2020 2 次提交
  15. 27 11月, 2020 1 次提交
  16. 25 11月, 2020 1 次提交
  17. 24 11月, 2020 3 次提交
  18. 19 11月, 2020 4 次提交
  19. 17 11月, 2020 1 次提交
  20. 11 11月, 2020 2 次提交
  21. 10 11月, 2020 1 次提交
  22. 05 11月, 2020 1 次提交
  23. 27 10月, 2020 1 次提交
  24. 26 10月, 2020 1 次提交
  25. 22 10月, 2020 1 次提交
  26. 20 10月, 2020 1 次提交
  27. 17 10月, 2020 1 次提交
  28. 16 10月, 2020 1 次提交
    • G
      Incorporate cudnn_lstm into LSTM api (#27217) · fa9d3fa5
      Guo Sheng 提交于
      * Incorporate cudnn_lstm into LSTM api.
      test=develop
      
      * Make coalesce_tensor support alignment optionally.
      test=develop
      
      * Reorganize RNN apis. test=develop
      
      * Fix cudnn rnn layout conversion.
      test=develop
      
      * Add sequence_length support for RNN cudnn implement.
      Add optional init_h and init_c gradient for cudnn_lstm_op.
      test=develop
      
      * Use create_parameter for rnn cudnn impl.
      test=develop
      
      * Move `self._flat_weight = self.create_parameter()` in RNNBase to main_program.
      test=develop
      
      * Update RNN api unittest to use set_device.
      test=develop
      
      * Fix set_place for unit tests of RNN apis.
      test=develop
      
      * Fix use_align in coalesce_tensor_op.
      test=develop
      
      * Adjust RNN apis arguments according to comments.
      test=develop
      
      * Polish documents for SimpleRNN apis.
      test=develop
      
      * Refine random seed in cudnn_lstm_op.
      Expose rnn params from sublayers to RNN.
      test=develop
      
      * Fix RNN saving for jit.save.
      Refine cudnn_lstm dropout behavior.
      test=develop
      
      * Fix doc of GRU. test=develop
      
      * Use ShareDataWith to avoid copying for cudnn_lstm_op test.
      test=develop
      
      * Remove updates on cudnn_lstm temporarily.
      test=develop
      
      * Use ShareDataWith to avoid copying for cudnn_lstm_op test.
      test=develop
      
      * Refine random seed in cudnn_lstm_op.
      test=develop
      
      * Fix test_lstm by adjust ConcreteProgram buffer getter.
      test=develop
      
      * Use create_parameter instead of create_var for rnn._flat_weight for static graph usage.
      test=develop
      
      * Remove W input for cudnn_lstm to pass unused_var_check.
      test=develop
      
      * Add test_predict for RNN unit tests coverage.
      test=develop
      
      * Fix code style of rnn.
      test=develop
      
      * Fix F.rnn usage in rnn.py.
      test=develop
      fa9d3fa5