So sánh các giá trị của `input` với `threshold` và gói các bit kết quả vào một `uint8`.
Mỗi so sánh trả về một boolean `true` (nếu `input_value > ngưỡng`) hoặc và `false` nếu không.
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]
Cho một `input` có hình dạng `[s0, s1, ..., s_n]`, đầu ra là một `uint8` tensor có dạng `[s0, s1, ..., s_n / 8]`.
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công khai
Đầu ra < TUint8 > | asOutput () Trả về tay cầm tượng trưng của tensor. |
tĩnh <T mở rộng TType > CompareAndBitpack | |
Đầu ra < TUint8 > | đầu ra () Những so sánh nhỏ nhặt. |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công khai
Đầu ra công khai < TUint8 > asOutput ()
Trả về tay cầm tượng trưng của tensor.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
tạo tĩnh công khai CompareAndBitpack (Phạm vi phạm vi , đầu vào Toán hạng <T>, Ngưỡng toán hạng <T>)
Phương thức xuất xưởng để tạo một lớp bao bọc một hoạt động CompareAndBitpack mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
đầu vào | Các giá trị để so sánh với `ngưỡng` và bitpack. |
ngưỡng | Ngưỡng để so sánh với. |
Trả lại
- một phiên bản mới của CompareAndBitpack