1. 19 10月, 2022 1 次提交
    • X
      [Dy2Static] Remove GradTransformer (#47063) · be3908a3
      xiongkun 提交于
      * [Dy2Static] Remove GradTransformer
      1. fix einsum infershape bugs.
      2. remove grad_transformer and unify paddle.grad and paddle.static.gradient.
      3. add dygraph_and_dy2static_only decorator for dy2static.
      
      * fix bugs
      
      * rename
      be3908a3
  2. 27 9月, 2022 1 次提交
  3. 17 9月, 2022 1 次提交
  4. 13 9月, 2022 1 次提交
  5. 09 9月, 2022 1 次提交
    • X
      [ Dy2Static ] convert_call support staticmethod for class. (#44983) · d0096eaf
      xiongkun 提交于
      * convert_call support staticmethod for class.
      
      * while support for python container.
      It is convenient to convert more dynamic graph codes into static graphs.
      
      * cond support python container
      
      * add unittest for staticmethod convert_call
      
      * fix bugs
      
      * add unittest for item interface
      
      * fix bugs
      
      * change to np.testing.assert_allclose
      
      * code format
      
      * fix comments.
      
      * code format
      d0096eaf
  6. 02 9月, 2022 1 次提交
    • X
      [ Dy2Static ] transfer list into tensor array at runtime. (#45594) · 3be7f495
      xiongkun 提交于
      * 1. make list transformer into jit form.
      2. fix some bugs in tensor_array, such as append.
      3. enhance the function analysis visitor to recognize push/pop.
      4. add setter/getter helper to deal with 2+ name sets.
      
      * fix ci errors:
      1. add to_tensor_array logic in convert_cond
      2. fix IfExpr error.
      3. fix erros while return_names or push_pop_names is None
      4. fix slice error in a[i]=1 where a is tensor_array
      5. add pop interface in Variable
      3be7f495
  7. 12 7月, 2022 1 次提交
    • X
      [ Dy2Static ]Change NameVisitor in while to FunctionScopeAnalysis (#44155) · c5c6026e
      xiongkun 提交于
      * change NameVisitor to FunctionScopeAnalysis
      
      * polish the logic of undefined var in while_loop. create vars after body execution
      
      * replace old NameVisitor in while and fix all CI
      
      * Togather with CreateVariableTransformer
      
      * add create_variable_transformer
      
      * fix bugs
      
      * merge
      
      * fix some error, TODO: ForNodePreTransform ahead
      
      * merge for unite PR
      
      * fix conflict with base_transformer PR
      
      * fix ci errors, fix [for i in range()] error
      
      * fix according to code review
      c5c6026e
  8. 06 7月, 2022 1 次提交
    • X
      [Dy2static] FunctionScopeVisitor Enhance and substitute the original NameVisitor in If (#43967) · b603dd55
      xiongkun 提交于
      * add support for control flow block analysis
      
      * move FunctionNameLivenessAnalysis into utils
      
      * pass test_ifelse.py
      
      * remove duplicate data_layer_not_check
      
      * pass the test_ifelse.py
      
      * fix unittest error .
      
      * fix all ci error in first version
      
      * temporay disable CreateVariableTransformer
      
      * fix ci errors
      
      * fix function name liveness analysis bugs
      
      * modifty def cond
      
      * fix
      
      * fix ci error - v2
      
      * fix by code review
      
      * change return_name_ids -> return_name
      b603dd55
  9. 05 7月, 2022 1 次提交
  10. 14 6月, 2022 1 次提交
  11. 09 6月, 2022 1 次提交
  12. 05 8月, 2021 1 次提交
  13. 04 6月, 2021 1 次提交
    • H
      [Dy2stat] Add Support for paddle.grad (#33110) · 82630f38
      Huihuang Zheng 提交于
      This PR made these changes to support double grad:
      
      1. Translate `paddle.grad` to `paddle.static.gradients` to support double grad for dy2stat.
      2. Fix IfElseTransformer bug which may not change value if "Store before Load" variable is in "Store" statement is in IfElse conditional statement
      3. Add `DOut` to support double grad variables in `run_program_op`
      4. Add support for renaming for double grads for `jit.save/load`
      82630f38
  14. 26 10月, 2020 1 次提交
  15. 20 10月, 2020 1 次提交
  16. 17 9月, 2020 1 次提交
  17. 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
  18. 26 8月, 2020 1 次提交
  19. 05 7月, 2020 1 次提交
  20. 29 6月, 2020 1 次提交
    • 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
  21. 19 6月, 2020 1 次提交
  22. 05 6月, 2020 1 次提交
    • L
      [Dy2Static] Add convert_ifelse to run the transformed code dynamically (#24866) · a9dca580
      liym27 提交于
      * cast var in convert_logical_XX. 
      
      * Add convert_ifelse function in convert_operators.py  
      
      * Add logical_transformer. Remove LogicalTransformer from loop_transformer.py 
      
      * Revert modified tests in PR24799(convert_while_stmt). 
      
      * Comment and modify code that doesn't support `return` statement. 
      
      * Remove unnecessary class: MergeAssignTransformer, NodeTestTransformer and IfConditionVisitor in ifelse_transformer. 
      a9dca580
  23. 14 5月, 2020 1 次提交
  24. 08 5月, 2020 1 次提交
  25. 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
  26. 19 4月, 2020 2 次提交
  27. 18 4月, 2020 1 次提交
  28. 17 4月, 2020 2 次提交
  29. 26 3月, 2020 1 次提交
  30. 25 3月, 2020 1 次提交
    • H
      Rename Decorator "dygraph_to_static_graph" to "dygraph_to_static_func" (#23150) · e9b18c74
      Huihuang Zheng 提交于
      This PR does exact the thing as the title. The reason is that we plan to develop 4 decorators
      
      "dygraph_to_static_code"
      "dygraph_to_static_program"
      "dygraph_to_static_func"
      "dygraph_to_static_output"
      
       The 4 decorators will emphasize different part when translating dygraph to static graph. Decorator name "dygraph_to_static_graph" is too big for the function it implements.
      e9b18c74
  31. 19 3月, 2020 2 次提交
  32. 17 3月, 2020 1 次提交
  33. 12 3月, 2020 1 次提交
  34. 11 3月, 2020 1 次提交
  35. 10 3月, 2020 1 次提交
  36. 07 3月, 2020 1 次提交
  37. 06 3月, 2020 1 次提交