用于将函数转换为图里面的节点,从而可以加速运算
我们可以给任何的函数定义上加入@tf.function
但是在调试的时候,无法直接去调试被@tf.function修饰的函数,即我们如果给函数里面打上断点,但是我们无法进入到断点的位置
为了进行调试,需要在调用函数之前加上下面的语句
tf.config.experimental_run_functions_eagerly(True)
# 完整的例子如下
@tf.function
def f(x):
if x > 0:
# Try setting a breakpoint here!
# Example:
# import pdb
# pdb.set_trace()
x = x + 1
return x
tf.config.experimental_run_functions_eagerly(True)
# You can now set breakpoints and run the code in a debugger.
f(tf.constant(1))