CompareAndBitpack

classe finale publique CompareAndBitpack

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

Chaque comparaison renvoie un booléen « vrai » (si « valeur_entrée > seuil ») ou et « faux » 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 intérieure du tenseur doit être divisible par 8.

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

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie < TUint8 >
comme Sortie ()
Renvoie le handle symbolique du tenseur.
statique <T étend TType > CompareAndBitpack
créer (portée de portée , entrée d'opérande <T>, seuil d'opérande <T>)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération CompareAndBitpack.
Sortie < TUint8 >
sortir ()
Les comparaisons bourrées de bits.

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "CompareAndBitpack"

Méthodes publiques

Sortie publique < TUint8 > asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static CompareAndBitpack create (portée de la portée , entrée de l'opérande <T>, seuil de l'opérande <T>)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération CompareAndBitpack.

Paramètres
portée portée actuelle
saisir Valeurs à comparer avec « threshold » et bitpack.
seuil Seuil à comparer.
Retour
  • une nouvelle instance de CompareAndBitpack

Sortie publique < TUint8 > sortie ()

Les comparaisons bourrées de bits.