tensorflow::ops::CompareAndBitpack
#include <math_ops.h> So sánh giá trị 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 phép so sánh trả về giá trị boolean true (nếu input_value > threshold ) hoặc false nếu ngược lại).
Thao tác này hữu ích cho hàm băm nhạy cảm với vị trí (LSH) và các thuật toán khác sử dụng phép xấp xỉ băm của khoảng cách cosin 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, chiều trong cùng của tenxơ phải chia hết cho 8.
Với input có dạng [s0, s1, ..., s_n] , đầu ra là một tensor uint8 có dạng [s0, s1, ..., s_n / 8] .
Luận điểm:
- phạm vi: Một đối tượng Phạm vi
- Đầu vào: Các giá trị cần so sánh với
thresholdvà bitpack. - Ngưỡng: Ngưỡng để so sánh.
Trả về:
-
Output: Các phép so sánh được đóng gói theo bit.
Hàm khởi 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ánh và Bitpack
CompareAndBitpack( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input threshold )
nút
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const