Python TensorFlow ``GradientTape.reset()`` 方法与实例


发布日期 : 2021-12-05 23:59:02 UTC

访问量: 10 次浏览

Python – tensorflow.GradientTape.reset()

TensorFlow是谷歌设计的开源Python库,用于开发机器学习模型和深度学习神经网络。

reset()
是用来清除所有被磁带存储的信息。

语法:
reset()

参数:它不接受任何参数。

返回:它没有返回。

示例 1:

# 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
  y+=x*x

# Computing gradient without reset
res  = gfg.gradient(y, x) 

# Printing result
print("res(y = x*x*x + x*x): ",res)

# Using GradientTape
with tf.GradientTape() as gfg:
  gfg.watch(x)
  y = x * x * x

  # Resetting the Tape
  gfg.reset()

  gfg.watch(x)
  y+=x*x

# Computing gradient with reset
res  = gfg.gradient(y, x) 

# Printing result
print("res(y = x*x): ",res)

输出:

res(y = x*x*x + x*x): tf.Tensor(56.0, shape=(), dtype=float32)
res(y = x*x): tf.Tensor(8.0, shape=(), dtype=float32)

示例 2:

# Importing the library
import tensorflow as tf

x = tf.constant(3.0)

# Using GradientTape
with tf.GradientTape() as gfg:
  gfg.watch(x)
  y = x * x
  y+=x*x

# Computing gradient without reset
res  = gfg.gradient(y, x) 

# Printing result
print("res(y = x*x + x*x): ",res)

# Using GradientTape
with tf.GradientTape() as gfg:
  gfg.watch(x)
  y = x * x

  # Resetting the Tape
  gfg.reset()
  gfg.watch(x)
  y+=x

# Computing gradient with reset
res  = gfg.gradient(y, x) 

# Printing result
print("res(y = x): ",res)

输出:

res(y = x*x + x*x): tf.Tensor(12.0, shape=(), dtype=float32)
res(y = x): tf.Tensor(1.0, shape=(), dtype=float32)