Tensorflow tf.function是否也为它调用的其他函数创建图形?

Tensorflow tf.function是否也为它调用的其他函数创建图形?,tensorflow,tensorflow2.0,Tensorflow,Tensorflow2.0,我不知道tf.function如何准确地跟踪调用其他修饰函数的函数。从修饰函数内部调用修饰函数与未修饰函数之间的区别是什么 @tf.function def x1(a,b): return a+b 当函数y被tf.function跟踪时会发生什么?如果这是x1和x2的唯一用途,那么用@tf.function修饰x1有意义吗?不幸的是,我现在找不到这方面的来源,但通常修饰函数范围内的所有内容都会被跟踪/转化为图形。也就是说,在您的特定情况下,如果仅从y内部调用x1或x2,则无需修饰它们。因此

我不知道
tf.function
如何准确地跟踪调用其他修饰函数的函数。从修饰函数内部调用修饰函数与未修饰函数之间的区别是什么

@tf.function
def x1(a,b):
  return a+b

当函数y被tf.function跟踪时会发生什么?如果这是
x1
x2
的唯一用途,那么用@tf.function修饰
x1
有意义吗?

不幸的是,我现在找不到这方面的来源,但通常修饰函数范围内的所有内容都会被跟踪/转化为图形。也就是说,在您的特定情况下,如果仅从
y
内部调用
x1
x2
,则无需修饰它们。因此,通常只修饰想要跟踪的最顶层函数就足够了(例如,调用模型的函数,或运行单个训练步骤的函数,或……)

不幸的是,我现在找不到这方面的来源,但通常修饰函数范围内的所有内容都将被跟踪/转化为图形。也就是说,在您的特定情况下,如果仅从
y
内部调用
x1
x2
,则无需修饰它们。因此,通常只装饰需要跟踪的最上面的功能就足够了(例如,调用模型的功能,或运行单个培训步骤,或…)

感谢您的帮助。如果你能提供一个来源和/或一个例子来证明答案的有效性,我很乐意接受并感谢你的帮助。如果你能提供一个来源和/或一个例子来证明答案的有效性,我很乐意接受并投票
def x2(a,b):
  return a+b
@tf function
def y(a,b):
  return a+b+x1(a,b)+x2(a,b)