tensorflow::ops::CompareAndBitpack

#include <math_ops.h>

Compare os valores de input com threshold e compacte os bits resultantes em um uint8 .

Resumo

Cada comparação retorna um valor booleano true (se input_value > threshold ) ou false (caso contrário).

Essa operação é útil para o Locality-Sensitive-Hashing (LSH) e outros algoritmos que usam aproximações de hash das distâncias de cosseno e L2 ; os códigos podem ser gerados a partir de uma entrada por meio 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]

NOTA : Atualmente, a dimensão mais interna do tensor deve ser divisível por 8.

Dado um input com formato [s0, s1, ..., s_n] , o output é um tensor uint8 com formato [s0, s1, ..., s_n / 8] .

Argumentos:

  • escopo: Um objeto de escopo
  • Entrada: Valores a serem comparados com threshold e o bitpack.
  • Limiar: Limiar de comparação.

Devoluções:

  • Output : As comparações compactadas em bits.

Construtores e Destrutores

CompareAndBitpack (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input threshold)

Atributos públicos

operation
output

Funções públicas

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Atributos públicos

operação

Operation operation

saída

::tensorflow::Output output

Funções públicas

CompareAndBitpack

 CompareAndBitpack(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input threshold
)

nó

::tensorflow::Node * node() const 

operador::tensorflow::Input

 operator::tensorflow::Input() const 

operador::tensorflow::Saída

 operator::tensorflow::Output() const