Python – tensorflow.gradients()
TensorFlow是谷歌设计的开源Python库,用于开发机器学习模型和深度学习神经网络。
gradients()用于获取xs中ys之和对x的符号导数。当启用急切执行时,它不起作用。
语法: tensorflow.gradients( ys, xs, grad_ys, name, gate_gradients, aggregation_method, stop_gradients, unconnected_gradients)
参数:
- ys:它是一个张量或需要被区分的张量列表。
- xs: 它是一个张量或张量列表,用来进行区分。
- grad_ys(可选): 它是一个张量或张量列表,用于计算y的梯度。
- name(可选: 。它用于将梯度操作组合在一起。它的默认值是渐变。
- gate_gradients(可选): 它用于避免竞赛条件。如果为真,它将在一个操作的梯度周围添加一个元组。
- aggregation_method(可选): 它的值是一个定义在AggregationMethod类中的常数。
- stop_gradients(可选): 它是一个张量或张量列表,不要通过它来进行区分。
- unconnected_gradients(可选): 它指定了当给定的输入张量是不连接的时候返回的梯度值。可接受的值是UnconnectedGradients类中定义的常数。
返回:一个长度为len(xs)的张量列表,其中每个张量都是ys中y和xs中x的sum(dy/dx)。
示例 1:
# Importing the library
import tensorflow as tf
# Defining function
@tf.function
def gfg():
a = tf.ones([1, 2])
b = 5*a
# Calculating gradient
g1 = tf.gradients([b+a], [a])
# Printing result
print("res: ",g1)
# Calling the function
gfg()
输出:
res: [<tf.Tensor 'gradients/AddN:0' shape=(1, 2) dtype=float32>]
示例 2:
# Importing the library
import tensorflow as tf
# Defining function
@tf.function
def gfg():
a = tf.ones([1, 2])
b = 5*a
# Calculating gradient
g1 = tf.gradients([b], [a])
# Printing result
print("res: ",g1)
# Calling the function
gfg()
输出:
res: [<tf.Tensor 'gradients/mul_grad/Mul_1:0' shape=(1, 2) dtype=float32>]