dòng chảy :: hoạt động :: CompareAndBitpack

#include <math_ops.h>

So sánh các giá trị của input với threshold và đóng gói các bit kết quả thành một uint8 .

Tóm lược

Mỗi so sánh trả về một boolean true (nếu input_value > threshold ) hoặc và false nếu không.

Phép toán này rất hữu ích cho các thuật toán địa phương-Nhạy cảm-Hashing (LSH) và các thuật toán khác sử dụng phép băm xấp xỉ khoảng cách cosine và L2 ; mã có thể được tạo từ một đầu vào thông qua:

codebook_size = 50
codebook_bits = codebook_size * 32
codebook = tf.get_variable('codebook', [x.shape[-1].value, codebook_bits],
                           dtype=x.dtype,
                           initializer=tf.orthogonal_initializer())
codes = compare_and_threshold(tf.matmul(x, codebook), threshold=0.)
codes = tf.bitcast(codes, tf.int32)  # go from uint8 to int32
# now codes has shape x.shape[:-1] + [codebook_size]

LƯU Ý : Hiện tại, kích thước trong cùng của tenxơ phải chia hết cho 8.

Cho một input có hình dạng [s0, s1, ..., s_n] , đầu ra là một tensor uint8 hình [s0, s1, ..., s_n / 8] .

Tranh luận:

  • phạm vi: Một đối tượng Phạm vi
  • input: Các giá trị để so sánh với threshold và gói bit.
  • Ngưỡng: Ngưỡng để so sánh với.

Lợi nhuận:

  • Output : Các so sánh được đóng gói bit.

Người xây dựng và Người phá hủy

CompareAndBitpack (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input threshold)

Thuộc tính công khai

operation
output

Chức năng công cộng

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Thuộc tính công khai

hoạt động

Operation operation

đầu ra

::tensorflow::Output output

Chức năng công cộng

CompareAndBitpack

 CompareAndBitpack(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input threshold
)

nút

::tensorflow::Node * node() const 

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

 operator::tensorflow::Input() const 

toán tử :: tensorflow :: Đầu ra

 operator::tensorflow::Output() const