Porównaj wartości „input” z „threshold” i spakuj powstałe bity do „uint8”.
Każde porównanie zwraca wartość logiczną „prawda” (jeśli „wartość_wejściowa > próg”) lub „fałsz” w przeciwnym razie.
Ta operacja jest użyteczna w przypadku hashowania uwzględniającego lokalizację (LSH) i innych algorytmów, które wykorzystują przybliżenia mieszające odległości cosinus i „L2”; kody można wygenerować z danych wejściowych poprzez:
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]
Mając dane wejściowe w kształcie `[s0, s1, ..., s_n]`, wyjściem jest tensor `uint8` w kształcie `[s0, s1, ..., s_n / 8]`.
Stałe
Smyczkowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow |
Metody publiczne
Dane wyjściowe <TUint8> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T rozszerza TType > CompareAndBitpack | |
Dane wyjściowe <TUint8> | wyjście () Bitpakowane porównania. |
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
publiczne wyjście < TUint8 > asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static CompareAndBitpack create (zakres zakresu , wejście argumentu <T>, próg argumentu <T>)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację CompareAndBitpack.
Parametry
zakres | aktualny zakres |
---|---|
wejście | Wartości do porównania z wartościami „threshold” i bitpack. |
próg | Próg do porównania. |
Powroty
- nowa instancja CompareAndBitpack