टेंसरफ़्लो :: ऑप्स :: लागू करें
#include <training_ops.h>
एडम एल्गोरिथ्म के अनुसार '* var' अपडेट करें।
सारांश
$$lr_t := {learning_rate} * {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 / ({v_t} + )$$
तर्क:
- गुंजाइश: एक स्कोप ऑब्जेक्ट
- var: एक चर () से होना चाहिए।
- m: एक चर () से होना चाहिए।
- v: एक चर () से होना चाहिए।
- Beta1_power: एक अदिश होना चाहिए।
- Beta2_power: एक अदिश होना चाहिए।
- lr: स्केलिंग कारक। एक स्केलर होना चाहिए।
- बीटा 1: गति कारक। एक स्केलर होना चाहिए।
- बीटा 2: गति कारक। एक स्केलर होना चाहिए।
- एप्सिलॉन: रिज टर्म। एक स्केलर होना चाहिए।
- grad: ढाल।
वैकल्पिक विशेषताएँ ( Attrs
देखें):
- use_locking: यदि
True
, तो var, m, और v टेनसर्स का अपडेट लॉक द्वारा सुरक्षित रहेगा; अन्यथा व्यवहार अपरिभाषित है, लेकिन कम विवाद को प्रदर्शित कर सकता है। - use_nesterov: यदि
True
, तो nesterov अद्यतन का उपयोग करता है।
रिटर्न:
-
Output
: "var" के समान।
कंस्ट्रक्टर और डिस्ट्रक्टर्स | |
---|---|
ApplyAdam (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input m, :: tensorflow::Input v, :: tensorflow::Input beta1_power, :: tensorflow::Input beta2_power, :: tensorflow::Input lr, :: tensorflow::Input beta1, :: tensorflow::Input beta2, :: tensorflow::Input epsilon, :: tensorflow::Input grad) | |
ApplyAdam (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input m, :: tensorflow::Input v, :: tensorflow::Input beta1_power, :: tensorflow::Input beta2_power, :: tensorflow::Input lr, :: tensorflow::Input beta1, :: tensorflow::Input beta2, :: tensorflow::Input epsilon, :: tensorflow::Input grad, const ApplyAdam::Attrs & attrs) |
सार्वजनिक विशेषताएँ | |
---|---|
operation | |
out |
सार्वजनिक कार्य | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
सार्वजनिक स्थैतिक कार्य | |
---|---|
UseLocking (bool x) | |
UseNesterov (bool x) |
संरचनाएं | |
---|---|
टेंसोफ़्लो :: ऑप्स :: अप्लाइड :: एट्र्स | वैकल्पिक विशेषता ApplyAdam के लिए बसता है । |
सार्वजनिक विशेषताएँ
ऑपरेशन
Operation operation
बाहर
::tensorflow::Output out
सार्वजनिक कार्य
लागू करें
ApplyAdam( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input m, ::tensorflow::Input v, ::tensorflow::Input beta1_power, ::tensorflow::Input beta2_power, ::tensorflow::Input lr, ::tensorflow::Input beta1, ::tensorflow::Input beta2, ::tensorflow::Input epsilon, ::tensorflow::Input grad )
लागू करें
ApplyAdam( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input m, ::tensorflow::Input v, ::tensorflow::Input beta1_power, ::tensorflow::Input beta2_power, ::tensorflow::Input lr, ::tensorflow::Input beta1, ::tensorflow::Input beta2, ::tensorflow::Input epsilon, ::tensorflow::Input grad, const ApplyAdam::Attrs & attrs )
नोड
::tensorflow::Node * node() const
ऑपरेटर :: टेंसरफ़्लो :: इनपुट
operator::tensorflow::Input() constहै
ऑपरेटर :: टेंसरफ़्लो :: आउटपुट
operator::tensorflow::Output() const
सार्वजनिक स्थैतिक कार्य
उपयोग करना
Attrs UseLocking( bool x )
UseNesterov
Attrs UseNesterov( bool x )