tensorflow :: ops :: CompareAndBitpack

#include <math_ops.h>

Compare os valores de input ao threshold e empacote os bits resultantes em um uint8 .

Resumo

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

Esta operação é útil para Hashing Sensível à Localidade (LSH) e outros algoritmos que usam aproximações de hash de distâncias cosseno e 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]

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

Dada uma forma de input [s0, s1, ..., s_n] , a saída é um tensor uint8 forma [s0, s1, ..., s_n / 8] .

Argumentos:

  • escopo: um objeto Scope
  • entrada: Valores para comparar com o threshold e o pacote de bits.
  • limite: limite para comparação.

Retorna:

  • Output : as comparações em pacotes de bits.

Construtores e Destruidores

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

resultado

::tensorflow::Output output

Funções públicas

CompareAndBitpack

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

::tensorflow::Node * node() const 

operador :: tensorflow :: Input

 operator::tensorflow::Input() const 

operador :: tensorflow :: Saída

 operator::tensorflow::Output() const