dòng chảy căng:: ôi:: So sánhAndBitpack
#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ả vào một uint8
.
Bản tóm tắt
Mỗi so sánh trả về một giá trị boolean true
(nếu input_value > threshold
) hoặc và false
nếu ngược lại.
Thao tác này hữu ích cho Băm nhạy cảm cục bộ (LSH) và các thuật toán khác sử dụng phép băm gần đúng của 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 tensor 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
có hình dạng [s0, s1, ..., s_n / 8]
.
Lập luận:
- phạm vi: Một đối tượng Phạm vi
- đầu vào: Các giá trị để so sánh với
threshold
và bitpack. - ngưỡng: Ngưỡng để so sánh với.
Trả về:
-
Output
: Các so sánh được đóng gói bit.
Hàm tạo và hàm 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
So sánhAndBitpack
CompareAndBitpack( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input threshold )
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