tensorflow:: אופס:: ApplyCenteredRMSProp
#include <training_ops.h>
עדכן את '*var' לפי אלגוריתם RMSProp המרוכז.
תַקצִיר
אלגוריתם ה-RMSProp הממורכז משתמש באומדן של הרגע השני הממורכז (כלומר השונות) לנורמליזציה, בניגוד ל-RMSProp הרגיל, המשתמש ברגע השני (הלא ממורכז). לעתים קרובות זה עוזר באימון, אבל הוא מעט יקר יותר מבחינת חישוב וזיכרון.
שימו לב שביישום צפוף של אלגוריתם זה, mg, ms ו-mom יתעדכנו גם אם הגראד הוא אפס, אבל ביישום הדליל הזה, mg, ms ו-mom לא יתעדכנו באיטרציות שבמהלכן הגראד הוא אפס.
mean_square = דעיכה * mean_square + (דעיכה 1) * שיפוע ** 2 mean_grad = דעיכה * mean_grad + (דעיכה 1) * שיפוע
Delta = learning_rate * gradient / sqrt(mean_square + epsilon - mean_grad ** 2)
mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mom <- momentum * mom_{t-1 } + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - mom
טיעונים:
- scope: אובייקט Scope
- var: צריך להיות מ-Variable().
- mg: צריך להיות מ-Variable().
- ms: צריך להיות מ-Variable().
- mom: צריך להיות מ-Variable().
- lr: גורם קנה מידה. חייב להיות סקלר.
- rho: קצב דעיכה. חייב להיות סקלר.
- אפסילון: מונח רכס. חייב להיות סקלר.
- grad: השיפוע.
מאפיינים אופציונליים (ראה Attrs
):
- use_locking: אם
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
תפקידים ציבוריים
ApplyCenteredRMSProp
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
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 ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-11-24 (שעון UTC).