Обновите соответствующие записи в «*var» и «*accum» в соответствии со схемой импульса.
Установите use_nesterov = True, если вы хотите использовать импульс Нестерова.
То есть для строк, для которых у нас есть grad, мы обновляем var и accum следующим образом:
$$accum = accum * momentum + grad$$$$var -= lr * accum$$
Вложенные классы
сорт | SparseApplyMomentum.Options | Необязательные атрибуты для SparseApplyMomentum |
Константы
Нить | OP_NAME | Название этой операции, известное основному движку TensorFlow. |
Публичные методы
Выход <Т> | какВывод () Возвращает символический дескриптор тензора. |
static <T расширяет TType > SparseApplyMomentum <T> | |
Выход <Т> | вне () То же, что «вар». |
статический SparseApplyMomentum.Options | useLocking (логическое значение useLocking) |
статический SparseApplyMomentum.Options | useNesterov (логическое значение useNesterov) |
Унаследованные методы
Константы
общедоступная статическая финальная строка OP_NAME
Название этой операции, известное основному движку TensorFlow.
Публичные методы
публичный вывод <T> asOutput ()
Возвращает символический дескриптор тензора.
Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.
public static SparseApplyMomentum <T> create ( Область действия , Операнд <T> var, Операнд <T> accum, Операнд <T> lr, Операнд <T> град, Операнд <? расширяет индексы TNumber >, Операнд <T> импульс, Параметры ... параметры)
Фабричный метод для создания класса, обертывающего новую операцию SparseApplyMomentum.
Параметры
объем | текущий объем |
---|---|
вар | Должно быть из переменной(). |
накапливать | Должно быть из переменной(). |
лр | Скорость обучения. Должно быть скаляр. |
выпускник | Градиент. |
индексы | Вектор индексов в первом измерении var и accum. |
импульс | Импульс. Должно быть скаляр. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр SparseApplyMomentum
public static SparseApplyMomentum.Options useLocking (логическое значение useLocking)
Параметры
использоватьLocking | Если `True`, обновление тензоров var и accum будет защищено блокировкой; в противном случае поведение не определено, но может вызывать меньше конфликтов. |
---|
public static SparseApplyMomentum.Options useNesterov (логическое значение useNesterov)
Параметры
использовать Нестерова | Если `True`, тензор, передаваемый для вычисления градиента, будет иметь вид var - lr * импульс * аккум, поэтому в конечном итоге вы получите var - lr * импульс * аккум. |
---|