тензорный поток:: опс:: СравнитьИБитпак
#include <math_ops.h>
Сравните значения input
с threshold
и упакуйте результирующие биты в uint8
.
Краткое содержание
Каждое сравнение возвращает логическое значение true
(если input_value > threshold
) или false
в противном случае.
Эта операция полезна для локально-чувствительного хеширования (LSH) и других алгоритмов, которые используют аппроксимации хеширования косинуса и расстояний L2
; коды могут быть сгенерированы из ввода через:
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]
ПРИМЕЧАНИЕ . В настоящее время самое внутреннее измерение тензора должно делиться на 8.
Учитывая input
в форме [s0, s1, ..., s_n]
, выходные данные представляют собой тензор uint8
в форме [s0, s1, ..., s_n / 8]
.
Аргументы:
- область: объект области.
- ввод: значения для сравнения с
threshold
и битовым пакетом. - порог: Порог для сравнения.
Возврат:
-
Output
: побитовые сравнения.
Конструкторы и деструкторы | |
---|---|
CompareAndBitpack (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input threshold) |
Публичные атрибуты | |
---|---|
operation | |
output |
Общественные функции | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Публичные атрибуты
операция
Operation operation
выход
::tensorflow::Output output
Общественные функции
СравнитьИБитпак
CompareAndBitpack( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input threshold )
узел
::tensorflow::Node * node() const
оператор::tensorflow::Input
operator::tensorflow::Input() const
оператор::tensorflow::Выход
operator::tensorflow::Output() const