Skip to content

Commit abd2df4

Browse files
authored
[DoubleGrad PR #3] Supported higher-order GradNode generation (PaddlePaddle#41051)
* [Refactor] refactored eager_gen.py PR #2 * [DoubleGrad PR #1] Decoupled code generation logics for Dygraph ForwardFunctions and GradNodes * Fixed minor issue * Adjusted logics of GenerateNodeCreationCodes and GenerateForwardDefinition * Fixed issues * Supported higher-order grad node generation * [DoubleGrad PR #4] Supported higher-order GradNode generation * Fixed yaml typo
1 parent 489a64e commit abd2df4

File tree

3 files changed

+263
-62
lines changed

3 files changed

+263
-62
lines changed

paddle/fluid/eager/auto_code_generator/final_state_generator/codegen_utils.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ def FindForwardName(string):
8989
return string[:-5]
9090

9191

92+
def IsGradName(string):
93+
return string.endswith("_grad")
94+
95+
9296
def IsPlainTensorType(string):
9397
plain_tensor_types = ['Tensor&', 'Tensor', 'const Tensor&', 'const Tensor']
9498
if string in plain_tensor_types:
@@ -166,6 +170,12 @@ def GetForwardFunctionName(string):
166170
return f"{string}_final_state_dygraph_function"
167171

168172

173+
def TransformGradVarNameForDoubleGradGeneration(string):
174+
if IsGradName(string):
175+
string = "grad_" + string[:-5]
176+
return string
177+
178+
169179
######################
170180
### Yaml Parsers ###
171181
######################

0 commit comments

Comments
 (0)