tf.contrib.eager.implicit_gradients
Возвращает функцию, которая дифференцирует f по отношению к переменным.
tf.contrib.eager.implicit_gradients(
f
)
Оборачиваемая функция возвращает градиент f, когда вызывается с теми же аргументами. Градиент вычисляется по всем обучаемым переменным TFE, к которым обращается f.
Эта функция полезна, когда точный набор переменных, с которыми необходимо дифференцировать, не известен заранее.
Пример:
dense_layer = tf.compat.v1.layers.Dense(1) def loss(x, y): return tf.reduce_sum(tf.square(dense_layer(x) - y)) # Obtain the gradient function. grad_fn = tfe.implicit_gradients(loss) # Invoke the gradient function with concrete values of x and y. x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) y = tf.constant([[10.0], [20.0]]) grads_and_vars = grad_fn(x, y) # Apply the gradients to Variables. optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.1) optimizer.apply_gradients(grads_and_vars)
| Аргументы | |
|---|---|
f | функция, которая должна быть дифференцирована. Если f возвращает скаляр, этот скаляр будет дифференцирован. Если f возвращает тензор или список тензоров, по умолчанию будет вычислен скаляр, суммируя значения всех тензоров, чтобы получить один скаляр. |
| Возвращаемое значение | |
|---|---|
| Функция, которая, когда вызывается, возвращает список пар (градиент, переменная). |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/eager/implicit_gradients