# Understanding the tf.function in TensorFlow

Hello coders,

In this tutorial, we will look at the `tf.function`

in the TensorFlow library in Python. We use the `tf.function`

to make graphs out of our programs. In Python, it is used as a transformation tool that creates Python-independent dataflow graphs out of Python code. It helps in creating portable and performant models.

You can install the TensorFlow library using the following command:

pip install tensorflow

And we will use the TensorFlow library as follows:

import tensorflow as tf

tf.function complies a function into callable graphs.

Syntax:

tf.function( func=None, input_signature=None, autograph=True, jit_compile=None, reduce_retracing=False, experimental_implements=None, experimental_autograph_options=None, experimental_relax_shapes=None, experimental_compile=None, experimental_follow_type_hints=None ) -> tf.types.experimental.GenericFunction

## Usage of tf.function in Examples

Now let’s just see a basic example of this function:

In this example we can see with trace-compilation we can execute non-TensorFlow operations, but only under special conditions.

@tf.function def f(x, y): return x ** 4 + y x = tf.constant([9, 6]) y = tf.constant([5, -7]) f(x, y)

Output:

<tf.Tensor: shape=(2,), dtype=int32, numpy=array([6566, 1289])>

## Features

In this function we can use control flow statements like while, break, continue, if-else etc.

@tf.function def f(x): if tf.reduce_sum(x) > 0: return x * 2 else: return -x // 4 f(tf.constant(9))

Output:

<tf.Tensor: shape=(), dtype=int32, numpy=18>

We can also include `tf.Variable`

and tf.Tensor in this function:

But we can only create `tf.Variable`

object only time when it is called for the first time. That is why it is recommended to crate it outside the `tf.function`

.

@tf.function def f(x, y): return x ** 4 + y x = tf.constant([9, 6]) y = tf.Variable([5, -7]) f(x, y)

Output:

<tf.Tensor: shape=(), dtype=int32, numpy=18>

## Leave a Reply