aliran tensor:: operasi:: Bandingkan dan Bitpack
#include <math_ops.h>
Bandingkan nilai input
dengan threshold
dan kemas bit yang dihasilkan ke dalam uint8
.
Ringkasan
Setiap perbandingan mengembalikan boolean true
(jika input_value > threshold
) atau dan false
sebaliknya.
Operasi ini berguna untuk Locality-Sensitive-Hashing (LSH) dan algoritma lain yang menggunakan perkiraan hashing jarak kosinus dan L2
; kode dapat dihasilkan dari input melalui:
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]
CATATAN : Saat ini, dimensi tensor terdalam harus habis dibagi 8.
Diberikan input
berbentuk [s0, s1, ..., s_n]
, keluarannya adalah uint8
berbentuk tensor [s0, s1, ..., s_n / 8]
.
Argumen:
- ruang lingkup: Objek Lingkup
- input: Nilai untuk dibandingkan dengan
threshold
dan bitpack. - ambang batas: Ambang batas untuk dibandingkan.
Pengembalian:
-
Output
: Perbandingan bitpacked.
Konstruktor dan Destruktor | |
---|---|
CompareAndBitpack (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input threshold) |
Atribut publik | |
---|---|
operation | |
output |
Fungsi publik | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Atribut publik
operasi
Operation operation
keluaran
::tensorflow::Output output
Fungsi publik
Bandingkan dan Bitpack
CompareAndBitpack( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input threshold )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Masukan
operator::tensorflow::Input() const
operator::tensorflow::Keluaran
operator::tensorflow::Output() const