dòng chảy :: ops :: 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-băm (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ừ đầ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: 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 bitpacked.
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 cộng | |
---|---|
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 cộng
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