टेंसरफ़्लो:: ऑप्स:: तुलनाऔरबिटपैक
#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