ML Community Day is November 9! Join us for updates from TensorFlow, JAX, and more Learn more


Compiles a function into a callable TensorFlow graph. (deprecated arguments)

Used in the notebooks

Used in the guide Used in the tutorials

tf.function constructs a tf.types.experimental.GenericFunction that executes a TensorFlow graph (tf.Graph) created by trace-compiling the TensorFlow operations in func.

Example usage:

def f(x, y):
  return x ** 2 + y
x = tf.constant([2, 3])
y = tf.constant([3, -2])
f(x, y)
<tf.Tensor: ... numpy=array([7, 7], ...)>

The trace-compilation allows non-TensorFlow operations to execute, but under special conditions. In general, only TensorFlow operations are guaranteed to run and create fresh results whenever the GenericFunction is called.


func may use data-dependent control flow, including if, for, while break, continue and return statements:

def f(x):
  if tf.reduce_sum(x) > 0:
    return x * x
    return -x // 2
<tf.Tensor: ... numpy=1>

func's closure may include tf.Tensor and tf.Variable objects:

def f():
  return x ** 2 + y
x = tf.constant([-2, -3])