Compare os valores de `input` com `threshold` e empacote os bits resultantes em um `uint8`.
Cada comparação retorna um booleano `true` (se `input_value > limiar`) ou e `false` caso contrário.
Esta operação é útil para hash sensível à localidade (LSH) e outros algoritmos que usam aproximações de hash de cosseno e distâncias `L2`; códigos podem ser gerados a partir de uma entrada 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]
Dada uma `entrada` em forma de `[s0, s1, ..., s_n]`, a saída é um tensor `uint8` em forma de `[s0, s1, ..., s_n / 8]`.
Constantes
Corda | OP_NAME | O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow |
Métodos Públicos
Saída <TUint8> | asOutput () Retorna o identificador simbólico do tensor. |
estático <T estende TType > CompareAndBitpack | |
Saída <TUint8> | saída () As comparações bitpacked. |
Métodos herdados
Constantes
String final estática pública OP_NAME
O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow
Métodos Públicos
Saída pública <TUint8> asOutput ()
Retorna o identificador simbólico do tensor.
As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static CompareAndBitpack create (escopo do escopo , entrada do operando <T>, limite do operando <T>)
Método de fábrica para criar uma classe que envolve uma nova operação CompareAndBitpack.
Parâmetros
escopo | escopo atual |
---|---|
entrada | Valores a serem comparados com `threshold` e bitpack. |
limite | Limite para comparação. |
Devoluções
- uma nova instância de CompareAndBitpack