1. 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
  2. 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
  3. 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
  4. 28 11月, 2020 2 次提交
  5. 27 11月, 2020 1 次提交
  6. 25 11月, 2020 1 次提交
  7. 24 11月, 2020 3 次提交
  8. 19 11月, 2020 4 次提交
  9. 17 11月, 2020 1 次提交
  10. 11 11月, 2020 2 次提交
  11. 10 11月, 2020 1 次提交
  12. 05 11月, 2020 1 次提交
  13. 27 10月, 2020 1 次提交
  14. 26 10月, 2020 1 次提交
  15. 22 10月, 2020 1 次提交
  16. 20 10月, 2020 1 次提交
  17. 17 10月, 2020 1 次提交
  18. 16 10月, 2020 2 次提交
    • 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
    • A
      [Dy2Stat] Fix Error when generating train_program in eval mode (#27975) · ffcc1175
      Aurelius84 提交于
      * Fix save in eval mode
      
      * remove assert statement
      
      * fix test_partial_program failed
      
      * add more test
      
      * modify back into _train_program
      ffcc1175
  19. 14 10月, 2020 1 次提交
    • C
      Remove and reorganize the alias of APIs (#27717) · d05058d2
      chentianyu03 提交于
      * modify cond while_loop to paddle.static.nn.cond
      
      * modify crop_tensor to paddle.crop
      
      * modify Variable to paddle.static.Variable
      
      * remove nn.beam_search, nn.beam_search_decode, nn.gather_tree
      
      * remove bpr_loss, center_loss, rank_loss, smooth_l1, teacher_student_sigmoid_loss, edit_distance, sampled_softmax_with_cross_entropy in nn.functional
      
      * remove apis in nn.functional.learn_rate.py
      
      * remove pool2d, pool3d, adaptive_pool2d, adaptive_pool3d in nn.functional
      
      * remove apis in nn.functional.vision
      
      * remove erf, soft_relu in nn.functional.activation
      
      * remove apis in nn.functional.extension
      
      * remove nn.functional.rnn
      
      * remove hash from nn.functional.lod
      
      * remove row_conv from nn.functional.extension
      
      * remove one_hot, pad2d, pad_constant_like from nn.functional.common
      
      * remove nn.gather_tree, nn.BilinearTensorProduct, nn.Pool2D, nn.Pad2D
      
      * remove apis from optimizer.__init
      
      * remove tensor.creation.fill_constant
      
      * remove elementwise_mul in nn.functional.common and  modify to paddle.multiply
      
      * remove  tensor.stat.reduce_mean
      
      * remove reduce_all, reduce_any in tensor.logic
      
      * remove apis in tensor.math
      
      * remove apis in tensor.__init__
      
      * remove has_inf, has_nan in tensor.search
      
      * remove apis in framework.__init__
      
      * remove apis in paddle.__init__
      
      * remove apis in nn.functional.__init__
      
      * modify removed alias apis to raw api in doc and unittests
      
      * fix remove grid_sample bug
      
      * modify removed alias apis to raw api in doc and unittests
      
      * modify removed alias apis to raw api in doc and unittests
      
      * modify removed alias apis to raw api in doc and unittests
      
      * modify removed alias apis to raw api in doc and unittests
      
      * modify removed alias apis to raw api in doc and unittests
      
      * modify removed alias apis to raw api in doc and unittests
      
      * delete alias api relastions in doc
      
      * reserve paddle.compat, paddle.sysconfig
      
      * remove unittest for paddle.reduce_all, paddle.reduce_any
      
      * modify removed alias apis to raw api in doc and unittests
      
      * recover paddle.save and paddle.load
      
      * resolve conflicts
      
      * fix sample code missing paddle.enable_static() bug
      
      * fix sample code missing paddle.enable_static() bug
      
      * fix to_string sample code error
      d05058d2
  20. 13 10月, 2020 1 次提交
  21. 30 9月, 2020 1 次提交
  22. 29 9月, 2020 2 次提交
    • H
      [Dy2stat] Refine Dy2stat APIs to 2.0rc (#27430) · cc2fc938
      Huihuang Zheng 提交于
      Refine Dy2stat APIs to 2.0rc
      
      After discussion, we accepted 3 key points from reviewers:
      
      1. In 2.0rc we changed dygraph_to_static folder to dy2static
      2. Keep the three files: convert_call_func.py, convert_operators.py, variable_trans_func.py
      3. Remove convert_operators path when users import convert_xxx. 
      
      After this PR, users can import convert_xxx APIs by:
      
      `import paddle.jit.dy2static.convert_xxx`
      
      The file structure will be:
      
      ```
      jit
          dy2static
                convert_operators.py
                convert_func_call.py
                variable_trans_func.py
      ```
      
      Detail changed API in files:
      
      In python/paddle/jit/dygraph_to_static/convert_call_func.py:
      from ...fluid.dygraph.dygraph_to_static.convert_call_func import convert_call  #DEFINE_ALIAS
      
      In python/paddle/jit/dygraph_to_static/convert_operators.py:
      from ...fluid.dygraph.dygraph_to_static.convert_operators import cast_bool_if_necessary  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_assert  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_ifelse  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_len  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_logical_and  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_logical_not  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_logical_or  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_print  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_var_dtype  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_var_shape  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.convert_operators import convert_while_loop  #DEFINE_ALIAS
      
      In python/paddle/jit/dygraph_to_static/variable_trans_func.py:
      from ...fluid.dygraph.dygraph_to_static.variable_trans_func import create_fill_constant_node  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.variable_trans_func import create_static_variable_gast_node  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.variable_trans_func import data_layer_not_check  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.variable_trans_func import to_static_variable  #DEFINE_ALIAS
      from ...fluid.dygraph.dygraph_to_static.variable_trans_func import to_static_variable_gast_node  #DEFINE_ALIAS
      cc2fc938
    • H
      [Dy2stat] Fix lstm bug (#27631) · abb32bbc
      Huihuang Zheng 提交于
      This PR fixed two bugs when converting LSTM in dy2stat:
      
      is_unsupported has a condition can trigger Python syntax error
      LSTM API's implementation in _rnn_static_graph doesn't include parameter initialization, which can cause dy2stat error.
      abb32bbc
  23. 24 9月, 2020 1 次提交
  24. 22 9月, 2020 1 次提交
  25. 17 9月, 2020 2 次提交
  26. 11 9月, 2020 1 次提交
  27. 09 9月, 2020 2 次提交
  28. 07 9月, 2020 1 次提交
  29. 02 9月, 2020 1 次提交