Bootstrap

@tf.function

用于将函数转换为图里面的节点,从而可以加速运算
我们可以给任何的函数定义上加入@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))
;