Mettez à jour '*var' selon l'algorithme d'Adam.
$$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)$$
Classes imbriquées
classe | AppliquerAdam.Options | Attributs facultatifs pour ApplyAdam |
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
Sortie <T> | comme Sortie () Renvoie le handle symbolique du tenseur. |
statique <T étend TType > ApplyAdam <T> | créer ( Scope scope, Opérande <T> var, Opérande <T> m, Opérande <T> v, Opérande <T> beta1Power, Opérande <T> beta2Power, Opérande <T> lr, Opérande <T> beta1, Opérande <T > beta2, Opérande <T> epsilon, Opérande <T> grad, Options... options) Méthode d'usine pour créer une classe encapsulant une nouvelle opération ApplyAdam. |
Sortie <T> | dehors () Identique à "var". |
statique ApplyAdam.Options | useLocking (booléen useLocking) |
statique ApplyAdam.Options | useNesterov (booléen useNesterov) |
Méthodes héritées
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Méthodes publiques
sortie publique <T> asOutput ()
Renvoie le handle symbolique du tenseur.
Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.
public static ApplyAdam <T> create ( Scope scope, Operand <T> var, Operand <T> m, Operand <T> v, Operand <T> beta1Power, Operand <T> beta2Power, Operand <T> lr, Operand <T > beta1, Opérande <T> beta2, Opérande <T> epsilon, Opérande <T> grad, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération ApplyAdam.
Paramètres
portée | portée actuelle |
---|---|
var | Doit provenir d'une variable (). |
m | Doit provenir d'une variable (). |
v | Doit provenir d'une variable (). |
bêta1Puissance | Ça doit être un scalaire. |
bêta2Power | Ça doit être un scalaire. |
g / D | Facteur d'échelle. Ça doit être un scalaire. |
bêta1 | Facteur d'élan. Ça doit être un scalaire. |
bêta2 | Facteur d'élan. Ça doit être un scalaire. |
épsilon | Terme de crête. Ça doit être un scalaire. |
diplômé | Le dégradé. |
choix | porte des valeurs d'attributs facultatifs |
Retour
- une nouvelle instance d'ApplyAdam
public static ApplyAdam.Options useLocking (booléen useLocking)
Paramètres
utiliserVerrouillage | Si `True`, la mise à jour des tenseurs var, m et v sera protégée par un verrou ; sinon, le comportement n'est pas défini, mais peut présenter moins de conflits. |
---|
public static ApplyAdam.Options useNesterov (booléen useNesterov)
Paramètres
utiliser Nesterov | Si « True », utilise la mise à jour Nesterov. |
---|