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.
- Агрегированный градиент сбрасывается до тензора 0.
- Внутренний временной шаг накопителя увеличивается на 1.
| Аргументы | |
|---|---|
num_required | Количество градиентов, которые должны быть агрегированы. |
name | Необязательное имя операции. |
| Возвращает | |
|---|---|
| Тензор, содержащий значение среднего градиента. |
| Исключения | |
|---|---|
InvalidArgumentError | Если num_required < 1 |
© 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/r2.4/api_docs/python/tf/compat/v1/ConditionalAccumulator