tensorflow::ops::SparseApplyFtrl

#include <training_ops.h>

Cập nhật các mục liên quan trong '*var' theo lược đồ Ftrl-proximal.

Bản tóm tắt

Đối với các hàng mà chúng ta có hệ số grad, chúng ta cập nhật var, accum và linear như sau:

$$accum_new = accum + grad * grad$$
$$linear += grad + (accum_{new}^{-lr_{power} } - accum^{-lr_{power} } / lr * var$$
$$quadratic = 1.0 / (accum_{new}^{lr_{power} } * lr) + 2 * l2$$
$$var = (sign(linear) * l1 - linear) / quadratic\ if\ |linear| > l1\ else\ 0.0$$
$$accum = accum_{new}$$

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().
  • tích lũy: Nên được lấy từ một biến().
  • tuyến tính: Nên được lấy từ một biến (Variable).
  • grad: Độ dốc.
  • chỉ số: Một vectơ các chỉ số vào chiều thứ nhất của var và accum.
  • lr: Hệ số tỷ lệ. Phải là một đại lượng vô hướng.
  • l1: Chuẩn hóa L1. Phải là một giá trị vô hướng.
  • l2: Chuẩn hóa L2. Phải là một giá trị vô hướng.
  • lr_power: Hệ số tỷ lệ. Phải là một số vô hướng.

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 và accum sẽ đượ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

SparseApplyFtrl (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input linear, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input lr_power)
SparseApplyFtrl (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input linear, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input lr_power, const SparseApplyFtrl::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

MultiplyLinearByLr (bool x)
UseLocking (bool x)

Cấu trúc

tensorflow::ops::SparseApplyFtrl::Attrs

Các thiết lập thuộc tính tùy chọn cho SparseApplyFtrl .

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

SparseApplyFtrl

 SparseApplyFtrl(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input linear,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  ::tensorflow::Input lr,
  ::tensorflow::Input l1,
  ::tensorflow::Input l2,
  ::tensorflow::Input lr_power
)

SparseApplyFtrl

 SparseApplyFtrl(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input linear,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  ::tensorflow::Input lr,
  ::tensorflow::Input l1,
  ::tensorflow::Input l2,
  ::tensorflow::Input lr_power,
  const SparseApplyFtrl::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

Nhân tuyến tính với Lr

Attrs MultiplyLinearByLr(
  bool x
)

Sử dụng khóa

Attrs UseLocking(
  bool x
)