tensorflow:: ops:: ApplyCenteredRMSProp
#include <training_ops.h>עדכון '*var' בהתאם לאלגוריתם RMSProp הממורכז.
תַקצִיר
אלגוריתם RMSProp הממורכז משתמש באומדן של המומנט השני הממורכז (כלומר, השונות) לצורך נרמול, בניגוד ל-RMSProp רגיל, המשתמש במומנט השני (הלא ממורכז). זה לרוב עוזר באימון, אך מעט יקר יותר מבחינת חישוב וזיכרון.
שים לב שבמימוש צפוף של אלגוריתם זה, mg, ms ו-mom יתעדכנו גם אם הגראד הוא אפס, אך במימוש דליל זה, mg, ms ו-mom לא יתעדכנו באיטרציות שבמהלכן הגראד הוא אפס.
ממוצע_ריבועי = דעיכה * ממוצע_ריבועי + (דעיכה אחת) * גרדיאנט ** 2 ממוצע_הדרגה = דעיכה * ממוצע_הדרגה + (דעיכה אחת) * גרדיאנט
דלתא = קצב_למידה * גרדיאנט / sqrt(ממוצע_ריבועי + אפסילון - ממוצע_גרדיאנט ** 2)
mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mom <- מומנטום * mom_{t-1} + lr * grad / sqrt(ms - mg * mg + אפסילון) var <- var - mom
טיעונים:
- היקף: אובייקט היקף
- var: צריך להיות מתוך Variable().
- mg: צריך להיות מ-Variable().
- ms: צריך להיות מ-Variable().
- אמא: אמור להיות מ-Variable().
- lr: גורם קנה מידה. חייב להיות סקלרי.
- rho: קצב דעיכה. חייב להיות סקלרי.
- אפסילון: איבר רכס. חייב להיות סקלרי.
- גראד: הגרדיאנט.
מאפיינים אופציונליים (ראה Attrs ):
- use_locking: אם ערך True הוא
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) | |
מבנים | |
|---|---|
| tensorflow:: ops:: ApplyCenteredRMSProp:: Attrs | קובעי מאפיינים אופציונליים עבור ApplyCenteredRMSProp . |
מאפיינים ציבוריים
מִבצָע
Operation operation
הַחוּצָה
::tensorflow::Output out
תפקידים ציבוריים
החלמרכזRMSProp
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 )
החלמרכזRMSProp
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
אופרטור::tensorflow::קלט
operator::tensorflow::Input() const
אופרטור::tensorflow::פלט
operator::tensorflow::Output() const
פונקציות סטטיות ציבוריות
שימוש בנעילה
Attrs UseLocking( bool x )
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-11-05 (שעון UTC).