tensorflow::ops::SparseApplyRMSProp
#include <training_ops.h>Cập nhật '*var' theo thuật toán RMSProp.
Bản tóm tắt
Lưu ý rằng trong cách triển khai dày đặc của thuật toán này, ms và mom sẽ được 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, ms và mom sẽ không được cập nhật trong các lần lặp mà grad bằng 0.
bình phương trung bình = suy giảm * bình phương trung bình + (1-suy giảm) * độ dốc ** 2 Delta = tốc độ học * độ dốc / căn bậc hai của bình phương trung bình + epsilon
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$ $$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$ $$var <- var - mom$$
Luận điểm:
- phạm vi: Một đối tượng Phạm vi
- var: Nên được lấy từ một biến Variable().
- ms: Nên lấy từ một biến().
- Mẹ: Nó phải được lấy từ một biến (Variable).
- lr: Hệ số tỷ lệ. Phải là một đại lượng vô hướng.
- rho: Tốc độ phân rã. Phải là một đại lượng vô hướng.
- epsilon: Hệ số đỉnh. Phải là một đại lượng vô hướng.
- grad: Độ dốc.
- chỉ số: Một vectơ các chỉ số vào chiều thứ nhất của var, ms và mom.
Cá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, ms và mom được bảo vệ bằng khóa; ngược lại, hành vi không được xác định, nhưng có thể ít xảy ra xung đột hơn.
Trả về:
-
Output: Giống như "var".
Hàm khởi tạo và hàm hủy | |
|---|---|
SparseApplyRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices) | |
SparseApplyRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices, const SparseApplyRMSProp::Attrs & attrs) |
Thuộc tính công khai | |
|---|---|
operation | |
out | |
Chức năng công cộng | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Các hàm tĩnh công khai | |
|---|---|
UseLocking (bool x) | |
Cấu trúc | |
|---|---|
| tensorflow::ops::SparseApplyRMSProp::Attrs | Các thiết lập thuộc tính tùy chọn cho SparseApplyRMSProp . |
Thuộc tính công khai
hoạt động
Operation operation
ngoài
::tensorflow::Output out
Chức năng công cộng
SparseApplyRMSProp
SparseApplyRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad, ::tensorflow::Input indices )
SparseApplyRMSProp
SparseApplyRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad, ::tensorflow::Input indices, const SparseApplyRMSProp::Attrs & attrs )
nút
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Các hàm tĩnh công khai
Sử dụng khóa
Attrs UseLocking( bool x )