Spec-Zone.ru › TensorFlow 1.15

tf.contrib.eager.implicit_value_and_gradients

Возвращает функцию, которая дифференцирует f по переменным.

tf.contrib.eager.implicit_value_and_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.
val_grad_fn = tfe.implicit_value_and_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]])
value, grads_and_vars = val_grad_fn(x, y)
print('Value of loss: %s' % value)

# Apply the gradients to Variables.
optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.1)
optimizer.apply_gradients(grads_and_vars)
Аргументы
f Функция, подлежащая дифференцированию. Если f возвращает скаляр, этот скаляр будет дифференцирован. Если f возвращает тензор или список тензоров, по умолчанию будет вычислен скаляр, сложив все их значения для получения единственного скаляра.
Возвращает
Функция, которая, при вызове, возвращает пару кортежей. Первый элемент — это значение, к которому вычисляется функция. Второй элемент — список пар (градиент, переменная).
Исключения
ValueError если f возвращает None.

© 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_value_and_gradients

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API