Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
dòng chảy căng:: ôi:: Áp dụngCenteredRMSProp
#include <training_ops.h>
Cập nhật '*var' theo thuật toán RMSProp tập trung.
Bản tóm tắt
Thuật toán RMSProp tập trung sử dụng ước tính mô men thứ hai ở giữa (tức là phương sai) để chuẩn hóa, trái ngược với RMSProp thông thường, sử dụng mô men thứ hai (không tập trung). Điều này thường giúp ích cho việc đào tạo nhưng đắt hơn một chút về mặt tính toán và bộ nhớ.
Lưu ý rằng khi triển khai dày đặc thuật toán này, mg, ms và mom sẽ cập nhật ngay cả khi grad bằng 0, nhưng trong cách triển khai thưa thớt này, mg, ms và mom sẽ không cập nhật trong các lần lặp trong đó grad bằng 0.
trung bình_bình phương = phân rã * bình_trung bình + (1-phân rã) * độ dốc ** 2 trung bình_grad = phân rã * trung bình_grad + (1-phân rã) * độ dốc
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 <- đà * mom_{t-1 } + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - mom
Lập luận:
- phạm vi: Một đối tượng phạm vi
- var: Phải từ một Biến().
- mg: Phải từ một Biến().
- ms: Phải từ một Biến().
- mẹ: Phải từ một Biến().
- lr: Hệ số tỷ lệ. Phải là một vô hướng.
- rho: Tốc độ phân rã. Phải là một vô hướng.
- epsilon: Thuật ngữ sườn núi. Phải là một vô hướng.
- grad: Độ dốc.
Thuộc tính tùy chọn (xem Attrs
):
- use_locking: Nếu
True
, việc cập nhật các tensor var, mg, ms và mom được bảo vệ bằng khóa; mặt khác, hành vi không được xác định, nhưng có thể ít gây tranh cãi hơn.
Trả về:
Hàm tạo và hàm hủy |
---|
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) |
Thuộc tính công khai
Chức năng công cộng
Áp dụngCenteredRMSProp
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
)
nút
::tensorflow::Node * node() const
operator::tensorflow::Input() const
toán tử::tenorflow::Đầu ra
operator::tensorflow::Output() const
Các hàm tĩnh công khai
Sử dụngKhóa
Attrs UseLocking(
bool x
)
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# tensorflow::ops::ApplyCenteredRMSProp Class Reference\n\ntensorflow::ops::ApplyCenteredRMSProp\n=====================================\n\n`#include \u003ctraining_ops.h\u003e`\n\nUpdate '\\*var' according to the centered RMSProp algorithm.\n\nSummary\n-------\n\nThe centered RMSProp algorithm uses an estimate of the centered second moment (i.e., the variance) for normalization, as opposed to regular RMSProp, which uses the (uncentered) second moment. This often helps with training, but is slightly more expensive in terms of computation and memory.\n\nNote that in dense implementation of this algorithm, mg, ms, and mom will update even if the grad is zero, but in this sparse implementation, mg, ms, and mom will not update in iterations during which the grad is zero.\n\nmean_square = decay \\* mean_square + (1-decay) \\* gradient \\*\\* 2 mean_grad = decay \\* mean_grad + (1-decay) \\* gradient\n\nDelta = learning_rate \\* gradient / sqrt(mean_square + epsilon - mean_grad \\*\\* 2)\n\nmg \\\u003c- rho \\* mg_{t-1} + (1-rho) \\* grad ms \\\u003c- rho \\* ms_{t-1} + (1-rho) \\* grad \\* grad mom \\\u003c- momentum \\* mom_{t-1} + lr \\* grad / sqrt(ms - mg \\* mg + epsilon) var \\\u003c- var - mom\n\nArguments:\n\n- scope: A [Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- var: Should be from a Variable().\n- mg: Should be from a Variable().\n- ms: Should be from a Variable().\n- mom: Should be from a Variable().\n- lr: Scaling factor. Must be a scalar.\n- rho: Decay rate. Must be a scalar.\n- epsilon: Ridge term. Must be a scalar.\n- grad: The gradient.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/apply-centered-r-m-s-prop/attrs#structtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1_1_attrs)):\n\n- use_locking: If `True`, updating of the var, mg, ms, and mom tensors is protected by a lock; otherwise the behavior is undefined, but may exhibit less contention.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): Same as \"var\".\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [ApplyCenteredRMSProp](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1a4bd3dd81dc6d1695c9ad5728462dd8cd)`(const ::`[tensorflow::Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` var, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` mg, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` ms, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` mom, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` lr, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` rho, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` momentum, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` epsilon, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` grad)` ||\n| [ApplyCenteredRMSProp](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1a632653cb819d859518dab8ceb0e7601c)`(const ::`[tensorflow::Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` var, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` mg, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` ms, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` mom, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` lr, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` rho, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` momentum, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` epsilon, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` grad, const `[ApplyCenteredRMSProp::Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/apply-centered-r-m-s-prop/attrs#structtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1a1eed55db035d88dc72301a9da4440e4a) | [Operation](/versions/r2.2/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [out](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1a62975e9d2166f002e315def153375125) | `::`[tensorflow::Output](/versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|-------------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1aa871631223879c0e00dc1ad75118f3ad)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1a9c793c604a2790930231f4244e7118cb)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1a5506a3056061103ac1e9a7a48412a968)`() const ` | ` ` ` ` |\n\n| ### Public static functions ||\n|------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [UseLocking](#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1ace802790fc34b37dc6b7574ea6f55cea)`(bool x)` | [Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/apply-centered-r-m-s-prop/attrs#structtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop_1_1_attrs) |\n\n| ### Structs ||\n|----------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::ApplyCenteredRMSProp::Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/apply-centered-r-m-s-prop/attrs) | Optional attribute setters for [ApplyCenteredRMSProp](/versions/r2.2/api_docs/cc/class/tensorflow/ops/apply-centered-r-m-s-prop#classtensorflow_1_1ops_1_1_apply_centered_r_m_s_prop). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### out\n\n```text\n::tensorflow::Output out\n``` \n\nPublic functions\n----------------\n\n### ApplyCenteredRMSProp\n\n```gdscript\n ApplyCenteredRMSProp(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input var,\n ::tensorflow::Input mg,\n ::tensorflow::Input ms,\n ::tensorflow::Input mom,\n ::tensorflow::Input lr,\n ::tensorflow::Input rho,\n ::tensorflow::Input momentum,\n ::tensorflow::Input epsilon,\n ::tensorflow::Input grad\n)\n``` \n\n### ApplyCenteredRMSProp\n\n```gdscript\n ApplyCenteredRMSProp(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input var,\n ::tensorflow::Input mg,\n ::tensorflow::Input ms,\n ::tensorflow::Input mom,\n ::tensorflow::Input lr,\n ::tensorflow::Input rho,\n ::tensorflow::Input momentum,\n ::tensorflow::Input epsilon,\n ::tensorflow::Input grad,\n const ApplyCenteredRMSProp::Attrs & attrs\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n``` \n\nPublic static functions\n-----------------------\n\n### UseLocking\n\n```text\nAttrs UseLocking(\n bool x\n)\n```"]]