tf.compat.v1.ConditionalAccumulator
Условный аккумулятор для агрегации градиентов.
Наследует от: ConditionalAccumulatorBase
tf.compat.v1.ConditionalAccumulator(
dtype,
shape=None,
shared_name=None,
name='conditional_accumulator',
reduction_type='MEAN'
)
Актуальные градиенты (то есть временной шаг, на котором был вычислен градиент, совпадает с временным шагом аккумулятора) добавляются в аккумулятор.
Извлечение среднего градиента блокируется, пока не будет накоплено необходимое количество градиентов.
| Аргументы | |
|---|---|
dtype | Тип данных накапливаемых градиентов. |
shape | Форма накапливаемых градиентов. |
shared_name | Необязательный параметр. Если указано непустое значение, этот аккумулятор будет совместно использоваться под заданным именем в нескольких сеансах. |
name | Необязательное имя аккумулятора. |
reduction_type | Тип редукции, используемый при извлечении градиента. |
| Атрибуты | |
|---|---|
accumulator_ref | Ссылка на базовый аккумулятор. |
dtype | Тип данных градиентов, накапливаемых этим аккумулятором. |
name | Имя базового аккумулятора. |
Методы
apply_grad
apply_grad(
grad, local_step=0, name=None
)
Пытается применить градиент к аккумулятору.
Попытка незаметно отклоняется, если градиент устарел, то есть local_step меньше глобального временного шага аккумулятора.
| Аргументы | |
|---|---|
grad | Тензор градиента, который нужно применить. |
local_step | Временной шаг, на котором был вычислен градиент. |
name | Необязательное имя операции. |
| Возвращает | |
|---|---|
| Операция, которая (условно) применяет градиент к аккумулятору. |
| Вызывает исключение | |
|---|---|
ValueError | Если grad имеет неправильную форму |
num_accumulated
num_accumulated(
name=None
)
Количество градиентов, которые на данный момент агрегированы в аккумуляторе.
| Аргументы | |
|---|---|
name | Необязательное имя операции. |
| Возвращает | |
|---|---|
| Количество градиентов, накопленных в аккумуляторе на данный момент. |
set_global_step
set_global_step(
new_global_step, name=None
)
Задает глобальный временной шаг аккумулятора.
Операция регистрирует предупреждение, если предпринимается попытка задать временной шаг, меньший текущего временного шага самого аккумулятора.
| Аргументы | |
|---|---|
new_global_step | Значение нового временного шага. Может быть переменной или константой |
name | Необязательное имя операции. |
| Возвращает | |
|---|---|
| Операция, задающая временной шаг аккумулятора. |
take_grad
take_grad(
num_required, name=None
)
Пытается извлечь средний градиент из аккумулятора.
Операция блокируется, пока к аккумулятору не будет успешно применено достаточное количество градиентов.
После успешного выполнения также запускаются следующие действия:
- Счетчик накопленных градиентов сбрасывается до 0.
- Агрегированный градиент сбрасывается до нулевого тензора.
- Внутренний временной шаг аккумулятора увеличивается на 1.
| Аргументы | |
|---|---|
num_required | Количество градиентов, которые должны быть агрегированы |
name | Необязательное имя операции |
| Возвращает | |
|---|---|
| Тензор, содержащий значение среднего градиента. |
| Вызывает исключение | |
|---|---|
InvalidArgumentError | Если num_required < 1 |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/ConditionalAccumulator