टेंसरफ़्लो:: ऑप्स:: तुलनाऔरबिटपैक

#include <math_ops.h>

input के मानों की तुलना threshold से करें और परिणामी बिट्स को uint8 में पैक करें।

सारांश

प्रत्येक तुलना एक बूलियन true (यदि input_value > threshold ) या अन्यथा false लौटाती है।

यह ऑपरेशन लोकैलिटी-सेंसिटिव-हैशिंग (एलएसएच) और अन्य एल्गोरिदम के लिए उपयोगी है जो कोसाइन और 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 से विभाज्य होना चाहिए।

[s0, s1, ..., s_n] आकार के input देखते हुए, आउटपुट एक 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 

ऑपरेटर::टेन्सरफ़्लो::इनपुट

 operator::tensorflow::Input() const 

ऑपरेटर::टेन्सरफ़्लो::आउटपुट

 operator::tensorflow::Output() const