1. 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
  2. 13 10月, 2020 1 次提交
  3. 30 9月, 2020 1 次提交
  4. 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
  5. 24 9月, 2020 1 次提交
  6. 22 9月, 2020 1 次提交
  7. 17 9月, 2020 2 次提交
  8. 11 9月, 2020 1 次提交
  9. 09 9月, 2020 2 次提交
  10. 07 9月, 2020 1 次提交
  11. 02 9月, 2020 2 次提交
  12. 01 9月, 2020 1 次提交
  13. 31 8月, 2020 2 次提交
  14. 28 8月, 2020 1 次提交
    • L
      [Dy2Stat] Add debugging and logging mechanism for dygraph to static (#26457) · b1f9ed60
      liym27 提交于
      * [Dy2Stat] Add debugging and logging mechanism for dygraph to static. 
      
      * Remove TransformerError temporarily. 
      
      * import mock in PY2, from unittest import mock in PY3. test=develop
      
      * Expose interfaces set_code_level and set_verbosity in paddle.jit, fix doc of the two interface. 
      
      * polish doc of set_verbosity and set_code_level. 
      b1f9ed60
  15. 27 8月, 2020 1 次提交
  16. 26 8月, 2020 1 次提交
  17. 21 8月, 2020 1 次提交
  18. 19 8月, 2020 2 次提交
  19. 12 8月, 2020 1 次提交
  20. 07 8月, 2020 2 次提交
    • L
      [Dy2Stat-ErrorMessage]Optimize error value to improve readability when error... · 168ea223
      liym27 提交于
      [Dy2Stat-ErrorMessage]Optimize error value to improve readability when error raised in runtime.  (#25970)
      
      * don't remove op_callstack
      
      * [Dy2Stat-ErrorMessage] Optimize error value to improve readability if error raised in run-time. 
        1. update op_callstack with original information;
        2. simplify error value to improve readability if error raised in run-time.
      
      * Fix error in Python3. 
      168ea223
    • L
      [Dy2Stat-ErrorMessage]Enhance original error and create new exception (#25798) · 12bf9d71
      liym27 提交于
      * [Dy2Stat-ErrorMessage]Enhance original error and create new exception. test=develop
      
      * Delete redundant code and change func name to create_and_update_origin_info_map. 
      
      * optimize loop_transformer. 
      
      * fix bug in print_transformer.
      
      * Modify code according to the comments.
      12bf9d71
  21. 06 8月, 2020 1 次提交
    • S
      add paddle.utils.deprecated. (#25912) · c8d0d141
      Shibo Tao 提交于
      * add paddle.utils.deprecated.
      
      * add docstring. test=develop
      
      * add alias paddle.utils.deprecated. test=develop
      
      * rm deprecated in python/paddle/fluid/annotations.py. test=develop
      
      * 1. check version before warning. 2. bug fix. test=develop
      
      * bug fix. test=develop
      
      * use paddle.fluid.require_version. test=develop
      
      * fix doc
      
      * fix doc. test=develop
      
      * fix doc. test=develop
      
      * bug fix. test=develop
      
      * use packaging.version. test=develop.
      
      * enhance doc. test=develop
      
      * add compare_version function. test=develop
      
      * add version.py. test=develop
      
      * remove packaging. test=develop
      
      * move compare_version to deprecated.py. test=develop
      
      * remove print. test=develop
      
      * fix. test=develop
      
      * fix. test=develop
      
      * fix. test=develop
      
      * fix. test=develop
      
      * inline. test=develop
      
      * fix. test=develop
      c8d0d141
  22. 04 8月, 2020 1 次提交
  23. 30 7月, 2020 1 次提交
    • L
      [Dy2Stat-ErrorMessage] Add interface:create_origin_info_map and... · 452be895
      liym27 提交于
      [Dy2Stat-ErrorMessage]  Add interface:create_origin_info_map and attach_origin_info for AST node (#25627)
      
      * Add interface:create_origin_info_map and attach_origin_info for AST node. test=develop
      
      * Fix code according to comments from reviewers. test=develop
      452be895
  24. 29 7月, 2020 1 次提交
  25. 21 7月, 2020 1 次提交
  26. 16 7月, 2020 2 次提交
  27. 14 7月, 2020 1 次提交
    • C
      [Dy2static] Refactor ProgramTranslator save_inference_model API (#24989) · 41d22472
      Chen Weihang 提交于
      * experimental refactoring, test=develop
      
      * add TranslatedLayer & remove StaticModelRunner, test=develop
      
      * revert tracedlayer change, test=develop
      
      * fix test_mnist unittest error, test=develop
      
      * add doc & examples, test=develop
      
      * polish doc details, test=develop
      
      * add imperative.jit module, test=develop
      
      * change TranslatedLayer pos, test=develop
      
      * adjust jit module import path, test=develop
      
      * polish doc based review result
      
      * add SaveLoadConfig.separate_params to save paraams separately
      
      * add Layer.buffer support, test=develop
      
      * polish doc details based review result, test=develop
      
      * polish details baesd review comments, test=develop
      
      * add empty str check for param, test=develop
      
      * add unittests, test=develop
      
      * polish details based review comment, test=develop
      
      * remove blanks in comment, test=develop
      
      * polish doc details, test=develop
      
      * update imperative doc link, test=develop
      
      * add api attr for load, test=develop
      41d22472
  28. 05 7月, 2020 1 次提交
  29. 02 7月, 2020 1 次提交
  30. 30 6月, 2020 1 次提交
    • H
      [Dy2stat] Support Various-Length Return Grammar in Dy2stat (#25249) · 5e8e6dad
      Huihuang Zheng 提交于
      Support Various-Length Return Grammar in Dy2stat. This PR is a follow-up of https://github.com/PaddlePaddle/Paddle/pull/25176 .
      
      The basic idea is putting no-value placeholder variables at `return` statement to make all `return` statement have same length, after that the static graph can have fixed fetch output (code at return_transformer.py). Then remove those no-value placeholder when we finally return dygraph result (code at partial_program.py).
      
      However, various length return in Bert model is still not supported. The dy2stat can change the code as I wish but some ops which check shape at compile time (e.g. Reshape, MatMul) will throw error because of the no-value-placeholder may not have the required shape. Is this a matter? To me, those no-value placeholder will be replaced as really values meeting shape requirements at run time, so I think the solution should be some way to do the compile-time checking. By the way, every time when we have dynamic shape, it often causes problem in dy2stat. We should find a way to handle it in the future.
      
      Fixing various return in Bert is my TODO thing and I will also find some other existing models for verification.
      5e8e6dad
  31. 29 6月, 2020 2 次提交
    • A
      [Dy2stat]Support buffers and register_buffer in Layer (#24888) · 02adf68d
      Aurelius84 提交于
      * support to save varBase created in __init__ test=develop
      
      * polish code test=develop
      
      * refine to_static_var test=develop
      
      * refine warning test=develop
      
      * add unitteset for to_static_var test=develop
      
      * fix logger test=develop
      
      * polish buffers en doc test=develop
      
      * fix param_guard test=develop
      
      * refine en doc test=develop
      02adf68d
    • H
      [Dy2stat] Add Basic Support for Grammar 'return' (#25176) · 6f631a27
      Huihuang Zheng 提交于
      This PR added basic support for 'return' grammar in dy2stat. It supports the control flow of 'return'.
      
      The basics idea is using a return value variable to store the early return statements and boolean state variables with if-else to skip the statements after the return statements.
      
      **This PR is very basic support. There are some corner cases I didn't develop/test**. For example, 'return None', 'return different length of variables', 'return non-tensor and tensor together', 'no return statement'. **These corner cases will be done in my next PRs**. Target date is this week.
      
      **Note**: 
      1. for the unit test, I changed test_program_translator.py because the StaticCode of `dyfunc_with_if_else` will change. To guarantee the correctness of `dyfunc_with_if_else`, I also run it in `TestRecursiveReturn` in test_return.py.
      
      2. I commented the early return code in bert_dygraph_model.py because 'return different length of variables' is unsupported now. I also know that there are some other models used early return and we didn't enable it in the unit test. I will add support for it in next PRs and then re-enable those tests.
      6f631a27