- 04 6月, 2021 1 次提交
-
-
由 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`
-
- 26 10月, 2020 1 次提交
-
-
由 Aurelius84 提交于
* Join break cond with while cond * remove usless code * refine the if code * Split into BreakTransfromOptimizer * add BreakTransformOptimizer in ast_transformer * add more comment
-
- 20 10月, 2020 1 次提交
-
-
由 Aurelius84 提交于
* refine code of DygraphToStaticAst * add __init__ function
-
- 17 9月, 2020 1 次提交
-
-
由 liym27 提交于
* Add env value to log to stdout; 2.Add logger name * Optimize log messages in dygraph-to-static * Replace logging.warn and warnings.warn with logging_utils.warn
-
- 28 8月, 2020 1 次提交
-
-
由 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.
-
- 26 8月, 2020 1 次提交
-
-
由 Aurelius84 提交于
-
- 05 7月, 2020 1 次提交
-
-
由 Zhen Wang 提交于
* add cast transform and its UT for dygraph_to_static.
-
- 29 6月, 2020 1 次提交
-
-
由 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.
-
- 19 6月, 2020 1 次提交
-
-
由 Aurelius84 提交于
* Refine caches of converting func test=develop * fix if statement test=develop * refine cache code test=develop * rm unuse import statement test=develop * Polish code comment test=develop
-
- 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.
-
- 14 5月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
Add assert grammar for ProgramTranslator
-
- 08 5月, 2020 1 次提交
-
-
由 Aurelius84 提交于
* support to train in static * support to independent decorator * remove in_dygraph_mode condition in ProgramTranslator * fix import param_guard and add train/eval test=develop * Modify into ShareVarsFromScope and rm __all__ in partial_program test=develop
-
- 27 4月, 2020 1 次提交
-
-
由 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
-
- 19 4月, 2020 2 次提交
-
-
由 liym27 提交于
* [Dy2Stat]Support recursive call. * Remove Redundant decorator to pass the Py35 unittest temporarily.
-
由 Huihuang Zheng 提交于
[Dy2stat] Add Test and Example Code for Different Access to ProgramTranslator and Fix Related Bug (#23958) To prepare for publishing APIs, I added tests for that we can access dy2stat through: @fluid.dygraph.declarative @fluid.dygraph.jit.declarative fluid.dygraph.ProgramTranslator() fluid.dygraph.dygraph_to_static.ProgramTranslator() fluid.dygraph.dygraph_to_static.program_translator.ProgramTranslator() It surprised me that we had bugs on those different usages. I have fixed them. I also added example codes for these new APIs This PR also pulls my current PR https://github.com/PaddlePaddle/Paddle/pull/23880, so the PR history is long. For reviewer information, you could review this PR after https://github.com/PaddlePaddle/Paddle/pull/23880 is merged
-
- 18 4月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
1. Rename Dygraph To Static Decorators to declarative 2. dygraph_to_static_func is still using in some training tests, I cannot delete it now. 3. Add some API docs
-
- 17 4月, 2020 2 次提交
-
-
由 liym27 提交于
* Move BasicApiTransformer to a separate file. test=develop * Fix a bug: A api in module is not a real dygraph api in dygraph_to_static. test=develop
-
由 Chen Weihang 提交于
-
- 26 3月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
1. Add Decorator 'dygraph_to_static_program' 2. Add corresponding ProgramTranslator.get_program 3. Add ProgramTranslator.save_inference_model 4. Modified some warning information of dy2stat 5. Change program cache to contain startup_program because for users who gets program to run, they may like to initialize startup program
-
- 25 3月, 2020 1 次提交
-
-
由 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.
-
- 19 3月, 2020 2 次提交
-
-
由 Aurelius84 提交于
* Support to use external function test=develop * refine the parms of ast_to_func test=develop
-
由 Huihuang Zheng 提交于
1. Add support for Break and Continue in Dygraph to Static 2. Also add support for gast.Not in NodeTestTransformer 3. Also add support for logical op transformation in LoopTransformer
-
- 17 3月, 2020 1 次提交
-
-
由 liym27 提交于
* Support Tensor.shape in control flow if/for/while and separate TensorShapeTransformer from BasicApiTransformer. test=develop
-
- 12 3月, 2020 1 次提交
-
-
由 liym27 提交于
* support list in control flow if. test=develop * support list in for/while and supplement tests. test=develop
-
- 11 3月, 2020 1 次提交
-
-
由 Aurelius84 提交于
+ Refine code structure and move code related with control flow `if` into `ifelse_transformer.py` + Merge code of `ast_utils.py` into `utils.py`
-
- 10 3月, 2020 1 次提交
-
-
由 Aurelius84 提交于
-
- 07 3月, 2020 1 次提交
-
-
由 liym27 提交于
-
- 06 3月, 2020 1 次提交
-
-
由 liym27 提交于
* support basic tensor.shape. * Support tensor.shape with dependencies.
-
- 05 3月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
Add basic support for while in translating dygraph to static 1. Analysis the variable liveness in class NameVisitor 2. Replace while key word using while_loop API
-
- 04 3月, 2020 2 次提交
-
-
由 Aurelius84 提交于
* Modify the way of inserting newly defined func_nodes test=develop
-
由 Aurelius84 提交于
-
- 28 2月, 2020 1 次提交
-
-
由 liym27 提交于
* change dygraph_to_static_output to dygraph_to_static_graph. test=develop * Remove duplicate code. test=develop * Follow comments from Liujie. test=develop * change dygraph_to_static_output to dygraph_to_static_graph. test=develop
-
- 27 2月, 2020 1 次提交
-
-
由 liym27 提交于
* Support fetch and run program in the process of dygraph_to_static_output. test=develop * fix to_source(gast) and remove dygraph API such as Conv2D, Linear. test=develop
-
- 24 2月, 2020 2 次提交
-
-
由 Aurelius84 提交于
* add is_control_flow_if test=develop
-
由 liym27 提交于
* support dygraph to static graph for simple case. * add test for dygraph API recognition. test=develop * support basic to_variable api. test=develop * update dict: dygraph_class_to_static_api * add all tests of dygraph api. test=develop * use gast/astor instead of ast/codegen for the compatibility of PY2 and PY3. test=develop * add arg 'num_flatten_dims' for fc ast node. test=develop * Modify names of class by Camel-Case.
-
- 20 2月, 2020 2 次提交
-
-
由 Aurelius84 提交于
* support nested if/else * support to derivate returns the parameter list automatically * polish tranform function of slice * fix modify x.numpy()[i] slice function * support to transform ast.node into callable function * fix get_name_ids bug and add more unittest test=develop * fix requirements.txt test=develop * remove useless import statement test=develop * Fixed version compatibility issues in param of function test=develop * use decorater to test ast_to_func test=develop * add textwrap.dedent for source_code test=develop * polish code comment * fix compatibility with python2 and python3 test=develop * fix gast version error test=develop * fix gast repo test=develop * polish transfer_from_node_type code test=develop * add nested_if_else unittest test=develop * split IfElseTransformer test=develop * specify gast version test=develop * fix ast_to_func root type test=develop
-
由 Huihuang Zheng 提交于
1. Move AstNodeWrapper, StaticAnalysisVisitor to a new python file: static_analysis.py 2. Add basic node var type analysis
-
- 18 2月, 2020 1 次提交
-
-
由 Aurelius84 提交于
-
- 13 2月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
As the title
-
- 10 2月, 2020 1 次提交
-
-
由 Huihuang Zheng 提交于
This PR provides very basic and simple framework for transforming Dygraph to Static Graph. API names, final outputs are not determined yet. Feel free to modify or add class/function/type when you think the framework is not extendable for you.
-