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]
É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
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 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.
Paramètres
portée | portée actuelle |
---|---|
saisir | Valeurs à comparer avec « threshold » et bitpack. |
seuil | Seuil à comparer. |
Retours
- une nouvelle instance de CompareAndBitpack