* fix numpy ndarray mul var base error; test=develop
* add comment for __array_ufunc__ ; test=develop
* move unitest from imperative math op path to test_math_op_patch_var_base;
test=develop
* 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
1. To make ProgramTranslator to support `assert` grammar, this PR adds `assert` python API and C++ code.
2. Fix a bug: graph_pattern_detector.h #include <gtest/gtest_prod.h> but didn't declared dependency at CMakeLists, which can cause single build failure.
3. Refactoring `Formatter` in print_op to make it reusable and reuse the formatter to print in assert op.
* Replace dygraph_to_static_func with @declarative or program_translator.get_func in test_list.py
* Add comments in ConditionalBlock.
* Support list pop last item.
* Support pop the i-th item.
* Support an empty tensor array as Input in assign op and set the kernel type is float.
* fix error info for rnn related api
* passed local test, test=develop
* double check the code
* double check the code, test=develop
* update 'shape' check in RNNCell, test=develop
* add long dtype to RNNCell
* fix long type in python3
Co-authored-by: XingWu01 <wuxing@iie.ac.cn>
* Support LoDTensorArray for slice op.
* Support read elements of list in dygraph_to_static
* Fix infershape add test for infershape.
* Support Tensor for Attr(starts) and Attr(ends).
* Use new interfaces in VarTypeInference.
* Rename internal gradient variables in multiple backward
* so that they have different names with previous backward
* For example:
* y = x * x, grad = fluid.gradients(fluid.gradients(y, x) + y * y, x)
* In second-time backward, gradient variable names of partial
* forward network (y * y) may be have same names with first-time
* fluid.gradients(y, x).
test=develop
* add trace op, test=develop
* Optimized the implementation of trace op, test=develop
* fix a bug of include in trace_op.h, test=develop
* move trace API from creation to math, test=develop
* modified en doc. test=develop
* add complex trace api
* add complex sum api, test=develop
* modified en doc of complex sum and trace, test=develop
* modified doc and trace API, test=develop
* modified en doc of trace and sum, test=develop
* modified comment in complex kron API, test=develop
* OP Should Not Have Unused Input, test=develop
* add GetExpectedKernelType, test=develop
* [Dy2Stat] Add test for ptb model. test=develop
* Simplify code for gast.If in is_control_flow_to_transform. test=develop
* Move IsControlFlowVisitor to file utils. test=develop
* Don't use convert_call for build-in func in CallTransformer. test=develop
* Optimize api is_control_flow_to_transform. test=develop
* Polish the document of IsControlFlowVisitor. test=develop
* Use declarative instead of dygraph_to_static_func. test=develop
* 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.
* add diag_embed op, test=develop
* add TestCase of diag_embed API
* Modified diag embed python API teastcase from dygraph to static graph, test=develop
* delete useless log and trigger ci, test=develop
* modified float16 of diag_embed, test=develop
* modified en doc of diag_embed
* trigger ci, test=develop
* add fp16 in dtype check of python API, test=develop
* modified __init__ and fix a big, test=develop
* modified a test bug of test_bicubic_interp_op and test_trilinear_interp_op, test=develop
* modified to use one kernel on cpu and cuda, test=develop
* optimize rank_attention, test=develop
* use the paddle memory pool, test=develop
* set max size, test=develop
* limit the max size, test=develop
* fix the head of cu, test=develop
* add AsDispensable, test=develop
* Add `paddle.nn.loss.MSELoss`
test=develop
* Move to `nn/layer/loss.py`
test=develop
* Add test
test=develop
* Fix dygraph
test=develop
* Increase numel in test
test=develop
* Add test for input with more dimensions
test=develop
* Support LoDTEnsorArray in fetch op
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* Support LoDTensorArray in fetch
test=develop
* add gradient check to reduce ops
* add skip gradient check to reduce ops test=develop
* modify stack api test=develop
* add bmm op and move serval ops from fluid.layers to tensor test=develop
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