- 29 11月, 2022 1 次提交
-
-
由 Aurelius84 提交于
* [Fluid Clean]Migrate if/while/return/break transformer into paddle.jit * migrate call_transformer * migrate call_transformer
-
- 23 10月, 2022 1 次提交
-
-
由 Nyakku Shigure 提交于
* update config * re-blacken python code * temporarily disable date and diff_py_file * skip a format
-
- 27 9月, 2022 1 次提交
-
-
由 Nyakku Shigure 提交于
* [CodeStyle] remove all future import * revert test_error.py * restore future import in example code
-
- 02 9月, 2022 1 次提交
-
-
由 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
-
- 12 7月, 2022 1 次提交
-
-
由 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
-
- 08 7月, 2022 1 次提交
-
-
由 WangZhen 提交于
* Polish visit function in transformer * Call generic_visit first in visit_While/For * Remove comments * Polish utils.py, move some transformer to base_transformer
-
- 06 7月, 2022 1 次提交
-
-
由 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
-
- 05 7月, 2022 1 次提交
-
-
由 WangZhen 提交于
* Add BaseTransformer for dy2st error message * Fix return_transformer error * Polish dy2st error info in runtime * Fix UT error * Polish runtime error code
-
- 30 6月, 2022 1 次提交
-
-
由 xiongkun 提交于
* merge and add base support for non-local for * for and while non-local support * fix ci errors: v1 * fix bug * fix * fix code * fix * fix * fix
-
- 28 6月, 2022 1 次提交
-
-
由 Aurelius84 提交于
* [Dy2Stat]Polish all API name of _jst
-
- 24 6月, 2022 1 次提交
-
-
由 xiongkun 提交于
* add closure analysis for control flow and add some unittest * finetune the design of FunctionScopeVisitor * fix * fix python check * fix code by code review
-
- 05 6月, 2022 1 次提交
-
-
由 Sing_chan 提交于
* use yapf to format all python file * yapf exclude two unittests file for they rely on writing and reading file, and format will break them * disable diff_py_file because too many diff files cause command following failed
-
- 27 5月, 2022 1 次提交
-
-
由 Aurelius84 提交于
* [Dy2Stat]Replace paddle.jit.dy2stat with _jst * [Dy2Stat]Replace paddle.jit.dy2stat with _jst * refine code style * refine code style
-
- 28 3月, 2022 1 次提交
-
-
由 Aurelius84 提交于
* [Dy2Stat] Fix ForLoop Transformation with single return * [Dy2Stat] Fix ForLoop Transformation with single return
-
- 05 8月, 2021 1 次提交
-
-
由 0x45f 提交于
* integrated gast library * integrated gast library * fix unittest and remove ast2.py * remove 'gast' from __all__ in __init__.py * add copyright in other files * fix copyright
-
- 09 4月, 2021 1 次提交
-
-
由 Aurelius84 提交于
* support DictCmp and zip grammar * fix code style
-
- 24 3月, 2021 1 次提交
-
-
由 Huihuang Zheng 提交于
Our old `loop_body` function may return single element when `loop_vars` just contains only 1 element, which can cause bug. The key point of this PR is forcing `loop_body` functions always return tuple.
-
- 04 3月, 2021 2 次提交
-
-
由 Huihuang Zheng 提交于
Fix wrong code comment
-
由 Huihuang Zheng 提交于
Fix Read-Only Attribute as while_loop Output: Usually, our convert_while_loop will be like: ``` [a, b, c] = paddle.jit.dy2static.convert_while_loop( condition_name, body_name, [a, b, c]) ``` where a, b, c are in loop_var_names. However, if loop_var_names contains property such as foo.x, we cannot assign the attribute as output of convert_while_loop because Python property is a kind of read-only attribute. To handle the case, we replace the attributes which are output of convert_while_loop with generated variables, then if we know the attribute is not read-only at runtime, we assign the attribute. The created statements are like: ``` [a, b, __attribute_variable_1] = paddle.jit.dy2static.convert_while_loop( condition_name, body_name, [a, b, foo.x]) if not isinstance(getattr(type(foo), x, None), property): foo.x = __attribute_variable_1 ```
-
- 18 2月, 2021 1 次提交
-
-
由 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]
-
- 21 12月, 2020 1 次提交
-
-
由 liym27 提交于
[Dy2Stat] Fix bug for loop: a variable is used and created in loop, but used before created (#29769)
-
- 19 11月, 2020 2 次提交
-
-
由 liym27 提交于
[Dynamic-to-Static] Fix bug in loop_transformer: loop vars should contain the var from ancestor-for-node (#28735)
-
由 Huihuang Zheng 提交于
Fix convert_callmMay be called multiple times in Dy2stat. Also strip some strings to make sure no influence from blank spaces.
-
- 17 11月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
Fix a bug that used in PaddleGAN model which used `isinstance` in a for loop
-
- 29 9月, 2020 1 次提交
-
-
由 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
-
- 07 8月, 2020 1 次提交
-
-
由 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.
-
- 18 6月, 2020 1 次提交
-
-
由 liym27 提交于
-
- 09 6月, 2020 1 次提交
-
-
由 liym27 提交于
* Move function 'convert_len' to file convert_operators.py * Support that for statements are transformed to while statements. * Fix bug: raise None -> return None. * Support variable loaded and created in loop. * Use int64 in Py2 and Py3 in function to_static_variable.
-
- 05 6月, 2020 1 次提交
-
-
由 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.
-
- 03 6月, 2020 2 次提交
-
-
由 Chen Weihang 提交于
* support for iter & enumerate varbase, test=develop * revert IsControlFlowVisitor change, test=develop
-
由 liym27 提交于
* Support convert_while_loop. * Comment code that not supported 'if' in test_break_continue. * Convert int into tensor to support 'if' stmt in for/while loop. * Add unittest to test all cases of convert_logical_XX. * Add unittest to test all cases of convert_while_loop. * Fix bug in LogicalOpTransformer. test=develop
-
- 28 5月, 2020 2 次提交
-
-
由 Aurelius84 提交于
* support nested input and output test=develop * remove code of convert type(output) in unittest test=develop * add warning test=develop
-
由 liym27 提交于
-
- 26 5月, 2020 1 次提交
-
-
由 liym27 提交于
-
- 19 5月, 2020 1 次提交
-
-
由 Chen Weihang 提交于
-
- 18 5月, 2020 1 次提交
-
-
由 Chen Weihang 提交于
* initial test * for enumerate basic implement, test=develop * update unittests, test=develop * refine unittests to adapt new training mode, test=develop * refactor for node stmts parsing code, test=develop * self-review & polish details, test=develop
-
- 24 4月, 2020 1 次提交
-
-
由 liym27 提交于
* Simplify code for gast.If in is_control_flow_to_transform. * Move IsControlFlowVisitor to file utils. * Don't use convert_call for build-in func in CallTransformer. * Optimize api is_control_flow_to_transform. * Polish the document of IsControlFlowVisitor.
-
- 04 4月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
This CR makes two changes: 1. In old loop_transformer, if a class variable, such as "self.a, foo.bar" is a loop var, the Dy2stat will fail because `def func(self.foo)` is not legal syntax. We support class variable by renaming. 2. After https://github.com/PaddlePaddle/Paddle/pull/22892 is merged, we can support `while x < 10` in dygraph. I enable those tests in corresponding Dy2stat
-
- 31 3月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
* Remove Read-Only Basic Type Variable in loop_vars test=develop * Put class support in loop for future thing test=develop * Modify based on reviewer's comment test=develop
-
- 29 3月, 2020 1 次提交
-
-
由 Aurelius84 提交于
-