aliran tensor:: operasi:: SparseApplyFtrl

#include <training_ops.h>

Perbarui entri yang relevan di '*var' sesuai dengan skema Ftrl-proksimal.

Ringkasan

Itu untuk baris yang memiliki grad, kami memperbarui var, accum dan linear sebagai berikut:

$$accum_new = accum + grad * grad$$
$$linear += grad + (accum_{new}^{-lr_{power} } - accum^{-lr_{power} } / lr * var$$
$$quadratic = 1.0 / (accum_{new}^{lr_{power} } * lr) + 2 * l2$$
$$var = (sign(linear) * l1 - linear) / quadratic\ if\ |linear| > l1\ else\ 0.0$$
$$accum = accum_{new}$$

Argumen:

  • ruang lingkup: Objek Lingkup
  • var: Harus dari Variabel().
  • accum: Harus dari Variabel().
  • linier: Harus dari Variabel().
  • lulusan: Gradien.
  • indeks: Vektor indeks ke dalam dimensi pertama var dan accum.
  • lr: Faktor penskalaan. Pasti skalar.
  • l1: Regularisasi L1. Pasti skalar.
  • l2: Regularisasi L2. Pasti skalar.
  • lr_power: Faktor penskalaan. Pasti skalar.

Atribut opsional (lihat Attrs ):

  • use_locking: Jika True , pembaruan tensor var dan accum akan dilindungi oleh kunci; jika tidak, perilaku tersebut tidak terdefinisikan, namun mungkin menunjukkan lebih sedikit pertentangan.

Pengembalian:

  • Output : Sama seperti "var".

Konstruktor dan Destruktor

SparseApplyFtrl (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input linear, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input lr_power)
SparseApplyFtrl (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input linear, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input lr_power, const SparseApplyFtrl::Attrs & attrs)

Atribut publik

operation
out

Fungsi publik

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

Fungsi statis publik

MultiplyLinearByLr (bool x)
UseLocking (bool x)

Struktur

tensorflow:: ops:: SparseApplyFtrl:: Attrs

Penyetel atribut opsional untuk SparseApplyFtrl .

Atribut publik

operasi

Operation operation

keluar

::tensorflow::Output out

Fungsi publik

SparseApplyFtrl

 SparseApplyFtrl(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input linear,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  ::tensorflow::Input lr,
  ::tensorflow::Input l1,
  ::tensorflow::Input l2,
  ::tensorflow::Input lr_power
)

SparseApplyFtrl

 SparseApplyFtrl(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input linear,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  ::tensorflow::Input lr,
  ::tensorflow::Input l1,
  ::tensorflow::Input l2,
  ::tensorflow::Input lr_power,
  const SparseApplyFtrl::Attrs & attrs
)

simpul

::tensorflow::Node * node() const 

operator::tensorflow::Masukan

 operator::tensorflow::Input() const 

operator::tensorflow::Keluaran

 operator::tensorflow::Output() const 

Fungsi statis publik

KalikanLinearByLr

Attrs MultiplyLinearByLr(
  bool x
)

Gunakan Penguncian

Attrs UseLocking(
  bool x
)