Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.SparseConditionalAccumulator

Условный аккумулирующий объект для агрегации разреженных градиентов.

Наследуется от: ConditionalAccumulatorBase

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.sparse.SparseConditionalAccumulator

tf.compat.v1.SparseConditionalAccumulator(
    dtype,
    shape=None,
    shared_name=None,
    name='sparse_conditional_accumulator',
    reduction_type='MEAN'
)

Разреженные градиенты представлены IndexedSlices.

Актуальные градиенты (т.е. шаг времени, на котором был вычислен градиент, равен шагу времени аккумулятора) добавляются к аккумулятору.

Извлечение среднего градиента блокируется до тех пор, пока не будет накоплено необходимое количество градиентов.

Аргументы
dtype Тип данных накапливаемых градиентов.
shape Форма накапливаемых градиентов.
shared_name Необязательно. Если не пусто, этот аккумулятор будет совместно использоваться под данным именем в нескольких сессиях.
name Необязательное имя для аккумулятора.
reduction_type Тип редукции для использования при вычислении градиента.
Атрибуты
accumulator_ref Ссылка на базовый аккумулятор.
dtype Тип данных градиентов, накапливаемых этим аккумулятором.
name Имя базового аккумулятора.

Методы

apply_grad

Просмотреть исходный код

apply_grad(
    grad_indices, grad_values, grad_shape=None, local_step=0, name=None
)

Попытка применить разреженный градиент к аккумулятору.

Попытка будет пропущена, если градиент устарел, т.е. local_step меньше, чем глобальный шаг времени аккумулятора.

Разреженный градиент представляется своими индексами, значениями и, возможно, пустой или None формой. Индексы должны быть вектором, представляющим расположение ненулевых элементов в тензоре. Значения — ненулевые слайсы градиента, и они должны иметь ту же первую размерность, что и индексы, т.е., nnz, представленные индексами и значениями, должны быть согласованными. Форма, если она не пустая или None, должна быть согласована с формой аккумулятора (если также задана).

Пример:

Тензор [[0, 0], [0, 1], [2, 3]] может быть представлен индексами: [1,2] значениями: [[0,1],[2,3]] формой: [3, 2]

Аргументы
grad_indices Индексы разреженного градиента, который нужно применить.
grad_values Значения разреженного градиента, который нужно применить.
grad_shape Форма разреженного градиента, который нужно применить.
local_step Шаг времени, на котором был вычислен градиент.
name Необязательное имя для операции.
Возвращаемое значение
Операция, которая (условно) применяет градиент к аккумулятору.
Исключения
InvalidArgumentError Если форма grad неверна

apply_indexed_slices_grad

Просмотреть исходный код

apply_indexed_slices_grad(
    grad, local_step=0, name=None
)

Попытка применить градиент к аккумулятору.

Попытка будет пропущена, если градиент устарел, т.е., local_step меньше, чем глобальный шаг времени аккумулятора.

Аргументы
grad Применяемый градиент IndexedSlices.
local_step Шаг времени, на котором был вычислен градиент.
name Необязательное имя для операции.
Возвращаемое значение
Операция, которая (условно) применяет градиент к аккумулятору.
Исключения
InvalidArgumentError Если форма 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

take_indexed_slices_grad

Просмотреть исходный код

take_indexed_slices_grad(
    num_required, name=None
)

Попытка извлечь средний градиент из аккумулятора.

Операция блокируется до тех пор, пока не будет успешно применено достаточное количество градиентов к аккумулятору.

При успешном выполнении также выполняются следующие действия:

  • Счетчик накопленных градиентов сбрасывается до 0.
  • Агрегированный градиент сбрасывается до тензора 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/versions/r2.9/api_docs/python/tf/compat/v1/SparseConditionalAccumulator

Spec-Zone.ru

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