Compare los valores de "entrada" con el "umbral" y empaquete los bits resultantes en un "uint8".
Cada comparación devuelve un valor booleano "verdadero" (si "valor_entrada > umbral") o "falso" en caso contrario.
Esta operación es útil para Locality-Sensitive-Hashing (LSH) y otros algoritmos que utilizan aproximaciones hash de coseno y distancias "L2"; Los códigos se pueden generar a partir de una entrada a través de:
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]
Dada una `entrada` en forma de `[s0, s1, ..., s_n]`, la salida es un tensor `uint8` en forma de `[s0, s1, ..., s_n / 8]`.
Constantes
Cadena | OP_NOMBRE | El nombre de esta operación, como lo conoce el motor central de TensorFlow. |
Métodos públicos
Salida < TUint8 > | como salida () Devuelve el identificador simbólico del tensor. |
estático <T extiende TType > CompareAndBitpack | crear (alcance del alcance , entrada del operando <T>, umbral del operando <T>) Método de fábrica para crear una clase que envuelve una nueva operación CompareAndBitpack. |
Salida < TUint8 > | producción () Las comparaciones repletas de bits. |
Métodos heredados
Constantes
Cadena final estática pública OP_NAME
El nombre de esta operación, como lo conoce el motor central de TensorFlow.
Métodos públicos
Salida pública < TUint8 > asOutput ()
Devuelve el identificador simbólico del tensor.
Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.
creación pública estática de CompareAndBitpack (alcance del alcance , entrada del operando <T>, umbral del operando <T>)
Método de fábrica para crear una clase que envuelve una nueva operación CompareAndBitpack.
Parámetros
alcance | alcance actual |
---|---|
aporte | Valores para comparar con "umbral" y paquete de bits. |
límite | Umbral con el que comparar. |
Devoluciones
- una nueva instancia de CompareAndBitpack