当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tensorflow.GradientTape.gradient()用法及代码示例


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

gradient()用于使用在此磁带上下文中记录的操作来计算梯度。

用法:gradient(target, sources, output_gradients, unconnected_gradients)

参数:

  • target:它是Tensor或要区分的Tensor列表。
  • sources:它是Tensor或Tensor列表。目标值与来源有所区别。
  • output_gradients:它是渐变列表,默认值为“无”。
  • unconnected_gradients:它的值可以为无或为零,默认值为无。

返回值:它返回Tensor的列表或嵌套结构。



范例1:

Python3

# 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)

输出:


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

范例2:

Python3

# 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)

输出:


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




相关用法


注:本文由纯净天空筛选整理自aman neekhara大神的英文原创作品 Python – tensorflow.GradientTape.gradient()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。