Perbarui entri yang relevan di '*var' dan '*accum' sesuai dengan skema momentum.
Tetapkan use_nesterov = True jika Anda ingin menggunakan momentum Nesterov.
Itu untuk baris yang memiliki grad, kami memperbarui var dan accum sebagai berikut:
$$accum = accum * momentum + grad$$$$var -= lr * accum$$
Kelas Bersarang
kelas | SparseApplyMomentum.Opsi | Atribut opsional untuk SparseApplyMomentum |
Konstanta
Rangkaian | OP_NAME | Nama operasi ini dikenal dengan mesin inti TensorFlow |
Metode Publik
Keluaran <T> | sebagai Keluaran () Mengembalikan pegangan simbolis tensor. |
statis <T memperluas TType > SparseApplyMomentum <T> | |
Keluaran <T> | keluar () Sama seperti "var". |
SparseApplyMomentum.Options statis | useLocking (penguncian penggunaan Boolean) |
SparseApplyMomentum.Options statis | useNesterov (Boolean useNesterov) |
Metode Warisan
Konstanta
String akhir statis publik OP_NAME
Nama operasi ini dikenal dengan mesin inti TensorFlow
Metode Publik
Keluaran publik <T> sebagai Keluaran ()
Mengembalikan pegangan simbolik tensor.
Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static SparseApplyMomentum <T> buat ( Lingkup lingkup , Operand <T> var, Operand <T> accum, Operand <T> lr, Operand <T> grad, Operand <? extends TNumber > indeks, Operand <T> momentum, Opsi ... pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi SparseApplyMomentum baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
var | Harus dari Variabel(). |
akumulasi | Harus dari Variabel(). |
lr | Kecepatan pembelajaran. Pasti skalar. |
lulusan | Gradien. |
indeks | Vektor indeks ke dalam dimensi pertama var dan accum. |
momentum | momentum. Pasti skalar. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru dari SparseApplyMomentum
public static SparseApplyMomentum.Options useLocking (Boolean useLocking)
Parameter
gunakan Penguncian | Jika `True`, pembaruan tensor var dan accum akan dilindungi oleh kunci; jika tidak, perilaku tersebut tidak terdefinisikan, namun mungkin menunjukkan lebih sedikit pertentangan. |
---|
public static SparseApplyMomentum.Options useNesterov (Boolean useNesterov)
Parameter
gunakanNesterov | Jika `True`, tensor yang diteruskan ke komputasi grad adalah var - lr * momentum * accum, jadi pada akhirnya, var yang Anda dapatkan sebenarnya adalah var - lr * momentum * accum. |
---|