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