टेंसरफ़्लो:: ऑप्स:: केंद्रीकृत आरएमएसप्रॉप लागू करें
#include <training_ops.h>
केन्द्रित RMSProp एल्गोरिथम के अनुसार '*var' को अपडेट करें।
सारांश
केंद्रित आरएमएसप्रॉप एल्गोरिथ्म सामान्यीकरण के लिए केंद्रित दूसरे क्षण (यानी, विचरण) के अनुमान का उपयोग करता है, नियमित आरएमएसप्रॉप के विपरीत, जो (अकेंद्रित) दूसरे क्षण का उपयोग करता है। यह अक्सर प्रशिक्षण में मदद करता है, लेकिन गणना और स्मृति के मामले में थोड़ा अधिक महंगा है।
ध्यान दें कि इस एल्गोरिथ्म के सघन कार्यान्वयन में, mg, ms, और mom अपडेट होंगे, भले ही ग्रेड शून्य हो, लेकिन इस विरल कार्यान्वयन में, mg, ms, और mom उन पुनरावृत्तियों में अपडेट नहीं होंगे, जिनके दौरान ग्रेड शून्य है।
माध्य_वर्ग = क्षय * माध्य_वर्ग + (1-क्षय) * ग्रेडिएंट ** 2 माध्य_ग्रेड = क्षय * माध्य_ग्रेड + (1-क्षय) * ग्रेडिएंट
डेल्टा = सीखने की दर * ग्रेडिएंट / वर्ग (मीन_स्क्वायर + एप्सिलॉन - मीन_ग्रेड ** 2)
एमजी <- आरएचओ * एमजी_{टी-1} + (1-आरएचओ) * ग्रेड एमएस <- आरएचओ * एमएस_{टी-1} + (1-आरएचओ) * ग्रेड * ग्रेड मॉम <- मोमेंटम * मॉम_{टी-1 } + एलआर * ग्रेड / एसक्यूआरटी (एमएस - एमजी * एमजी + एप्सिलॉन) वर <- वर - माँ
तर्क:
- स्कोप: एक स्कोप ऑब्जेक्ट
- var: एक वेरिएबल() से होना चाहिए।
- mg: एक वेरिएबल() से होना चाहिए।
- एमएस: एक वेरिएबल() से होना चाहिए।
- माँ: एक वेरिएबल() से होना चाहिए।
- एलआर: स्केलिंग कारक। एक अदिश राशि होनी चाहिए.
- आरएचओ: क्षय दर। एक अदिश राशि होनी चाहिए.
- एप्सिलॉन: रिज शब्द। एक अदिश राशि होनी चाहिए.
- ग्रेड: ग्रेडिएंट.
वैकल्पिक विशेषताएँ (देखें Attrs
):
- उपयोग_लॉकिंग: यदि
True
, तो var, mg, ms और mom टेंसर का अद्यतनीकरण लॉक द्वारा सुरक्षित है; अन्यथा व्यवहार अपरिभाषित है, लेकिन कम विवाद प्रदर्शित कर सकता है।
रिटर्न:
-
Output
: "var" के समान।
निर्माता और विध्वंसक | |
---|---|
ApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad) | |
ApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, const ApplyCenteredRMSProp::Attrs & attrs) |
सार्वजनिक गुण | |
---|---|
operation | |
out |
सार्वजनिक समारोह | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
सार्वजनिक स्थैतिक कार्य | |
---|---|
UseLocking (bool x) |
संरचनाएँ | |
---|---|
टेंसरफ़्लो:: ऑप्स:: ApplyCenteredRMSProp:: Attrs | ApplyCenteredRMSprop के लिए वैकल्पिक विशेषता सेटर्स। |
सार्वजनिक गुण
संचालन
Operation operation
बाहर
::tensorflow::Output out
सार्वजनिक समारोह
केंद्रीकृत आरएमएसप्रॉप लागू करें
ApplyCenteredRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input mg, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad )
केंद्रीकृत आरएमएसप्रॉप लागू करें
ApplyCenteredRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input mg, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad, const ApplyCenteredRMSProp::Attrs & attrs )
नोड
::tensorflow::Node * node() const
ऑपरेटर::टेन्सरफ़्लो::इनपुट
operator::tensorflow::Input() const
ऑपरेटर::टेन्सरफ़्लो::आउटपुट
operator::tensorflow::Output() const
सार्वजनिक स्थैतिक कार्य
लॉकिंग का उपयोग करें
Attrs UseLocking( bool x )