Cập nhật '*var' theo thuật toán Adam.
$$lr_t := \text{learning\_rate} * \sqrt{1 - beta_2^t} / (1 - beta_1^t)$$$$m_t := beta_1 * m_{t-1} + (1 - beta_1) * g$$$$v_t := beta_2 * v_{t-1} + (1 - beta_2) * g * g$$$$variable := variable - lr_t * m_t / (\sqrt{v_t} + \epsilon)$$
Các lớp lồng nhau
lớp học | Áp dụngAdam.Options | Thuộc tính tùy chọn cho ApplyAdam |
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công cộng
Đầu ra <T> | asOutput () Trả về tay cầm tượng trưng của tensor. |
tĩnh <T mở rộng TType > ApplyAdam <T> | tạo ( Phạm vi phạm vi, Toán hạng <T> var, Toán hạng <T> m, Toán hạng <T> v, Toán hạng <T> beta1Power, Toán hạng <T> beta2Power, Toán hạng <T> lr, Toán hạng <T> beta1, Toán hạng <T > beta2, Toán hạng <T> epsilon, Toán hạng <T> cấp độ, Tùy chọn... tùy chọn) Phương thức xuất xưởng để tạo một lớp bao bọc một hoạt động ApplyAdam mới. |
Đầu ra <T> | ngoài () Tương tự như "var". |
tĩnh ApplyAdam.Options | useLocking (Boolean useLocking) |
tĩnh ApplyAdam.Options | useNesterov (Sử dụng BooleanNesterov) |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công cộng
Đầu ra công khai <T> asOutput ()
Trả về tay cầm tượng trưng của tensor.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
public static ApplyAdam <T> tạo ( Phạm vi phạm vi, Toán hạng <T> var, Toán hạng <T> m, Toán hạng <T> v, Toán hạng <T> beta1Power, Toán hạng <T> beta2Power, Toán hạng <T> lr, Toán hạng <T > beta1, Toán hạng <T> beta2, Toán hạng <T> epsilon, Toán hạng <T> cấp độ, Tùy chọn... tùy chọn)
Phương thức xuất xưởng để tạo một lớp bao bọc một hoạt động ApplyAdam mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
var | Phải từ một Biến(). |
tôi | Phải từ một Biến(). |
v | Phải từ một Biến(). |
beta1Power | Phải là một vô hướng. |
beta2Power | Phải là một vô hướng. |
lr | Yếu tố nhân rộng. Phải là một vô hướng. |
beta1 | Yếu tố động lượng. Phải là một vô hướng. |
beta2 | Yếu tố động lượng. Phải là một vô hướng. |
epsilon | Thuật ngữ sườn núi. Phải là một vô hướng. |
tốt nghiệp | Độ dốc. |
tùy chọn | mang các giá trị thuộc tính tùy chọn |
Trả lại
- một phiên bản mới của ApplyAdam
public static ApplyAdam.Options useLocking (Boolean useLocking)
Thông số
sử dụngKhóa | Nếu `True`, việc cập nhật các tensor var, m và v sẽ đượ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. |
---|
tĩnh công khai ApplyAdam.Options useNesterov (Boolean useNesterov)
Thông số
sử dụngNesterov | Nếu `True`, hãy sử dụng bản cập nhật Nesterov. |
---|