тензорный поток:: опс:: Разреженное применениеRMSProp

#include <training_ops.h>

Обновите «*var» в соответствии с алгоритмом RMSProp.

Краткое содержание

Обратите внимание, что в плотной реализации этого алгоритма ms и Mom будут обновляться, даже если градация равна нулю, но в этой разреженной реализации ms и Mom не будут обновляться на итерациях, во время которых градация равна нулю.

средний_квадрат = затухание * средний_квадрат + (1-затухание) * градиент ** 2 Дельта = скорость обучения * градиент / sqrt(средний_квадрат + эпсилон)

$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$
$$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$
$$var <- var - mom$$

Аргументы:

  • область: объект области.
  • var: Должно быть из переменной().
  • мс: Должно быть из переменной().
  • мама: Должно быть из переменной().
  • lr: коэффициент масштабирования. Должно быть скаляр.
  • ро: Скорость распада. Должно быть скаляр.
  • эпсилон: термин хребта. Должно быть скаляр.
  • град: Градиент.
  • индексы: вектор индексов в первом измерении var, ms и Mom.

Необязательные атрибуты (см. Attrs ):

  • use_locking: Если True , обновление тензоров var, ms и Mom защищено блокировкой; в противном случае поведение не определено, но может вызывать меньше конфликтов.

Возврат:

  • Output : То же, что и «var».

Конструкторы и деструкторы

SparseApplyRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices)
SparseApplyRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices, const SparseApplyRMSProp::Attrs & attrs)

Публичные атрибуты

operation
out

Общественные функции

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Публичные статические функции

UseLocking (bool x)

Структуры

tensorflow::ops::SparseApplyRMSProp::Attrs

Необязательные установщики атрибутов для SparseApplyRMSProp .

Публичные атрибуты

операция

Operation operation

вне

::tensorflow::Output out

Общественные функции

Разреженное применениеRMSProp

 SparseApplyRMSProp(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input ms,
  ::tensorflow::Input mom,
  ::tensorflow::Input lr,
  ::tensorflow::Input rho,
  ::tensorflow::Input momentum,
  ::tensorflow::Input epsilon,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices
)

Разреженное применениеRMSProp

 SparseApplyRMSProp(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input ms,
  ::tensorflow::Input mom,
  ::tensorflow::Input lr,
  ::tensorflow::Input rho,
  ::tensorflow::Input momentum,
  ::tensorflow::Input epsilon,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  const SparseApplyRMSProp::Attrs & attrs
)

узел

::tensorflow::Node * node() const 

оператор::tensorflow::Input

 operator::tensorflow::Input() const 

оператор::tensorflow::Выход

 operator::tensorflow::Output() const 

Публичные статические функции

Использование блокировки

Attrs UseLocking(
  bool x
)