Spec-Zone.ru › TensorFlow 1.15

tf.contrib.layers.recompute_grad

Декоратор, который пересчитывает функцию на обратном проходе.

tf.contrib.layers.recompute_grad(
    fn, use_data_dep=_USE_DEFAULT, tupleize_grads=False
)

Для использования этой функции необходимо использовать ResourceVariable (т.е. `variable_scope(name, use_resource=True)`, которые являются значениями по умолчанию в режиме Eager и при выполнении на TPU.

Предупреждение: Поскольку функция будет вызвана снова на обратном проходе, пользователь должен быть внимательным, чтобы не использовать операции в своей функции, которые изменяют состояние или содержат случайность (например, пакетная нормализация или дропаут). Если функция содержит такие операции, рекомендуется, чтобы функция принимала параметр is_recomputing, который будет False на прямом проходе и True на обратном проходе, чтобы можно было отключить изменения состояния при is_recomputing=True (например, не обновлять скользящие средние в пакетной нормализации).
Аргументы
fn функция, которая принимает тензоры (все как позиционные аргументы) и возвращает кортеж тензоров. Обратите внимание, что fn не должна ссылаться на другие тензоры или переменные.
use_data_dep bool, если True будет использовать зависимость от данных для принудительного пересчета. Если False будет использовать зависимость от управления. По умолчанию будет True в контексте XLA и False в противном случае. XLA игнорирует зависимости от управления, поэтому эта зависимость от данных необходима.
tupleize_grads bool, если True будет использовать зависимости от управления, чтобы гарантировать, что все градиенты будут вычислены до того, как какие-либо будут использованы последующими операциями. Если use_data_dep также True, будет использоваться зависимость от данных вместо зависимости от управления.
Возвращаемые значения
Обёртка fn, которая идентична fn при вызове, но её активации будут отброшены и пересчитаны на обратном проходе (т.е. при вызове tf.gradients).
Исключения
ValueError если fn ссылается на тензоры или переменные.

© 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/layers/recompute_grad

Spec-Zone.ru

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