dòng chảy căng:: ôi:: Áp dụng thưa thớtĐà

#include <training_ops.h>

Cập nhật các mục nhập có liên quan trong '*var' và '*accum' theo sơ đồ động lượng.

Bản tóm tắt

Đặt use_nesterov = True nếu bạn muốn sử dụng đà Nesterov.

Đó là đối với các hàng chúng tôi có grad, chúng tôi cập nhật var và accum như sau:

$$accum = accum * momentum + grad$$
$$var -= lr * accum$$

Lập luận:

  • phạm vi: Một đối tượng phạm vi
  • var: Phải từ một Biến().
  • tích lũy: Phải từ một Biến().
  • lr: Tốc độ học tập. Phải là một vô hướng.
  • grad: Độ dốc.
  • chỉ số: Một vectơ chỉ số vào chiều thứ nhất của var và accum.
  • động lượng: động lượng. Phải là một vô hướng.

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 và accum 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.
  • use_nesterov: Nếu True thì tensor được truyền để tính grad sẽ là var - lr * moment * accum, nên cuối cùng, var bạn nhận được thực ra là var - lr * moment * accum.

Trả về:

  • Output : Giống như "var".

Hàm tạo và hàm hủy

SparseApplyMomentum (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input momentum)
SparseApplyMomentum (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input momentum, const SparseApplyMomentum::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)
UseNesterov (bool x)

Cấu trúc

tenorflow:: ops:: SparseApplyMomentum:: Attrs

Bộ cài đặt thuộc tính tùy chọn cho SparseApplyMomentum .

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

Áp dụng thưa thớtĐà

 SparseApplyMomentum(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input lr,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  ::tensorflow::Input momentum
)

Áp dụng thưa thớtĐà

 SparseApplyMomentum(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input lr,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  ::tensorflow::Input momentum,
  const SparseApplyMomentum::Attrs & attrs
)

nút

::tensorflow::Node * node() const 

toán tử::tenorflow::Đầu vào

 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
)

Sử dụngNesterov

Attrs UseNesterov(
  bool x
)