Spec-Zone.ru › TensorFlow

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.
  • Агрегированный градиент сбрасывается до нулевого тензора.
  • Внутренний шаг времени аккумулятора увеличивается на 1.
Аргументы
num_required Количество градиентов, которые должны быть агрегированы
name Необязательное имя операции
Возвращает
Кортеж индексов, значений и формы, представляющий средний градиент.
Вызывает исключения
InvalidArgumentError Если num_required < 1

take_indexed_slices_grad

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

take_indexed_slices_grad(
    num_required, name=None
)

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

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

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

  • Счетчик накопленных градиентов сбрасывается до 0.
  • Агрегированный градиент сбрасывается до нулевого тензора.
  • Внутренний шаг времени аккумулятора увеличивается на 1.
Аргументы
num_required Количество градиентов, которые должны быть агрегированы
name Необязательное имя операции
Возвращает
IndexedSlices, содержащий значение среднего градиента.
Вызывает исключения
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/SparseConditionalAccumulator

Spec-Zone.ru

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