جریان تنسور:: عملیات:: ApplyCenteredRMSProp
#include <training_ops.h>
"*var" را مطابق با الگوریتم RMSProp متمرکز به روز کنید.
خلاصه
الگوریتم RMSProp متمرکز از تخمین لحظه دوم متمرکز (یعنی واریانس) برای عادی سازی استفاده می کند، برخلاف RMSProp معمولی که از لحظه دوم (غیر مرکزی) استفاده می کند. این اغلب به آموزش کمک می کند، اما از نظر محاسبات و حافظه کمی گران تر است.
توجه داشته باشید که در اجرای متراکم این الگوریتم، mg، ms و mom حتی اگر درجه صفر باشد، به روز می شوند، اما در این پیاده سازی پراکنده، mg، ms و mom در تکرارهایی که در طی آن درجه صفر است، به روز نمی شوند.
mean_square = decay * mean_square + (1-decay) * gradient ** 2 mean_grad = decay * mean_grad + (1-decay) * گرادیان
دلتا = نرخ_آموزش * گرادیان / مربع (میانگین_مربع + اپسیلون - میانگین_گراد ** 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: باید از یک متغیر ().
- mg: باید از یک متغیر ().
- ms: باید از یک متغیر () باشد.
- mom: باید از یک متغیر () باشد.
- 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 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-11-24 بهوقت ساعت هماهنگ جهانی.