Zaktualizuj „*var” zgodnie z algorytmem Adama.
$$lr_t := \text{learning\_rate} * \sqrt{1 - beta_2^t} / (1 - beta_1^t)$$$$m_t := beta_1 * m_{t-1} + (1 - beta_1) * g$$$$v_t := beta_2 * v_{t-1} + (1 - beta_2) * g * g$$$$variable := variable - lr_t * m_t / (\sqrt{v_t} + \epsilon)$$
Klasy zagnieżdżone
klasa | ZastosujAdam.Opcje | Opcjonalne atrybuty ApplyAdam |
Stałe
Smyczkowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow |
Metody publiczne
Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T rozszerza TType > ApplyAdam <T> | utwórz (Zakres zasięgu , Operand <T> var, Operand <T> m, Operand <T> v, Operand <T> beta1Power, Operand <T> beta2Power, Operand <T> lr, Operand <T> beta1, Argument <T > beta2, Operand <T> epsilon, Operand <T> grad, Opcje... opcje) Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację ApplyAdam. |
Wyjście <T> | na zewnątrz () To samo co „var”. |
statyczny ApplyAdam.Options | useLocking (boolowski useLocking) |
statyczny ApplyAdam.Options | useNesterov (Boolean useNesterov) |
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
publiczne wyjście <T> asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static ApplyAdam <T> create ( Zakres zasięgu , Operand <T> var, Operand <T> m, Operand <T> v, Operand <T> beta1Power, Operand <T> beta2Power, Operand <T> lr, Argument <T > beta1, Argument <T> beta2, Argument <T> epsilon, Argument <T> grad, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację ApplyAdam.
Parametry
zakres | aktualny zakres |
---|---|
odm | Powinno pochodzić ze zmiennej (). |
M | Powinno pochodzić ze zmiennej (). |
w | Powinno pochodzić ze zmiennej (). |
beta1Moc | Musi być skalarem. |
beta2Power | Musi być skalarem. |
lr | Współczynnik skalowania. Musi być skalarem. |
beta1 | Czynnik pędu. Musi być skalarem. |
beta2 | Czynnik pędu. Musi być skalarem. |
epsilon | Termin grzbietowy. Musi być skalarem. |
absolwent | Gradient. |
opcje | przenosi opcjonalne wartości atrybutów |
Powroty
- nowa instancja ApplyAdam
public static ApplyAdam.Options useLocking (Boolean useLocking)
Parametry
użyjBlokowanie | Jeśli `True`, aktualizacja tensorów var, m i v będzie chroniona blokadą; w przeciwnym razie zachowanie jest niezdefiniowane, ale może wykazywać mniejszą rywalizację. |
---|
public static ApplyAdam.Options useNesterov (Boolean useNesterov)
Parametry
użyj Niestierowa | Jeśli „True”, używa aktualizacji Nesterov. |
---|