`इनपुट` के मानों की तुलना `थ्रेसहोल्ड` से करें और परिणामी बिट्स को `uint8` में पैक करें।
प्रत्येक तुलना एक बूलियन `सही` (यदि `इनपुट_वैल्यू > थ्रेशोल्ड`) या अन्यथा `गलत` लौटाती है।
यह ऑपरेशन लोकैलिटी-सेंसिटिव-हैशिंग (एलएसएच) और अन्य एल्गोरिदम के लिए उपयोगी है जो कोसाइन और `एल2` दूरी के हैशिंग अनुमान का उपयोग करते हैं; कोड को इनपुट से उत्पन्न किया जा सकता है:
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]
एक `इनपुट` आकार `[s0, s1, ..., s_n]` दिया गया है, आउटपुट एक `uint8` टेंसर आकार `[s0, s1, ..., s_n / 8]` है।
स्थिरांक
डोरी | OP_NAME | इस ऑप का नाम, जैसा कि TensorFlow कोर इंजन द्वारा जाना जाता है |
सार्वजनिक तरीके
आउटपुट <TUint8> | आउटपुट के रूप में () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
स्थिर <T टीटाइप का विस्तार करता है > CompareAndBitpack | |
आउटपुट <TUint8> | आउटपुट () बिटपैक्ड तुलनाएँ। |
विरासत में मिली विधियाँ
स्थिरांक
सार्वजनिक स्थैतिक अंतिम स्ट्रिंग OP_NAME
इस ऑप का नाम, जैसा कि TensorFlow कोर इंजन द्वारा जाना जाता है
सार्वजनिक तरीके
सार्वजनिक आउटपुट < TUint8 > asOutput ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के इनपुट किसी अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थैतिक CompareAndBitpack बनाएँ ( स्कोप स्कोप, ऑपरेंड <T> इनपुट, ऑपरेंड <T> थ्रेशोल्ड)
एक नए CompareAndBitpack ऑपरेशन को लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि।
पैरामीटर
दायरा | वर्तमान दायरा |
---|---|
इनपुट | `थ्रेसहोल्ड` और बिटपैक से तुलना करने के लिए मान। |
सीमा | तुलना करने के लिए दहलीज. |
रिटर्न
- CompareAndBitpack का एक नया उदाहरण