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
thresholde 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