Python – tensorflow.GradientTape()

TensorFlow is open-source Python library designed by Google to develop Machine Learning models and deep learning  neural networks. 

GradientTape() is used to record operations for automatic differentiation.

Syntax: tensorflow.GradientTape( persistent, watch_accessed_variables)

Parameters:

  • persistent(optional): It can either be True or False with default value False. It defines whether persistent gradient tape is created or not.
  • watch_accessed_variables:  It is a boolean defining whether the tape will automatically watch any (trainable) variables accessed while the tape is active or not.

Example 1:



Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Importing the library
import tensorflow as tf
  
x = tf.constant(4.0)
  
# Using GradientTape
with tf.GradientTape() as gfg:
  gfg.watch(x)
  y = x * x * x
  
# Computing gradient
res  = gfg.gradient(y, x)
  
# Printing result
print("res: ",res)

chevron_right


Output:

res:  tf.Tensor(48.0, shape=(), dtype=float32)

Example 2:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Importing the library
import tensorflow as tf
  
x = tf.constant(4.0)
  
# Using GradientTape
with tf.GradientTape() as gfg:
  gfg.watch(x)
  
  # Using nested GradientTape for calculating higher order derivative
  with tf.GradientTape() as gg:
    gg.watch(x)
    y = x * x * x
  # Computing first order gradient
  first_order = gg.gradient(y, x)
  
# Computing Second order gradient
second_order  = gfg.gradient(first_order, x) 
  
# Printing result
print("first_order: ",first_order)
print("second_order: ",second_order)

chevron_right


Output:

first_order:  tf.Tensor(48.0, shape=(), dtype=float32)
second_order:  tf.Tensor(24.0, shape=(), dtype=float32)





My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.