flux tensoriel : : opérations : : ComparerEtBitpack

#include <math_ops.h>

Comparez les valeurs de input au threshold et regroupez les bits résultants dans un uint8 .

Résumé

Chaque comparaison renvoie un booléen true (si input_value > threshold ) ou false sinon.

Cette opération est utile pour le Locality-Sensitive-Hashing (LSH) et d'autres algorithmes qui utilisent des approximations de hachage des distances cosinus et L2 ; les codes peuvent être générés à partir d'une entrée via :

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]

REMARQUE : Actuellement, la dimension la plus interne du tenseur doit être divisible par 8.

Étant donné une input en forme de [s0, s1, ..., s_n] , la sortie est un tenseur uint8 en forme de [s0, s1, ..., s_n / 8] .

Arguments :

  • scope : un objet Scope
  • entrée : valeurs à comparer au threshold et au bitpack.
  • seuil : seuil à comparer.

Retours :

  • Output : Les comparaisons bitpackées.

Constructeurs et Destructeurs

CompareAndBitpack (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input threshold)

Attributs publics

operation
output

Fonctions publiques

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Attributs publics

opération

Operation operation

sortir

::tensorflow::Output output

Fonctions publiques

ComparerEtBitpack

 CompareAndBitpack(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input threshold
)

nœud

::tensorflow::Node * node() const 

opérateur :: tensorflow :: Entrée

 operator::tensorflow::Input() const 

opérateur :: tensorflow :: Sortie

 operator::tensorflow::Output() const