тензорный поток:: опс:: СравнитьИБитпак

#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