টেনসরফ্লো :: অপস:: তুলনা করুন এবং বিটপ্যাক
#include <math_ops.h>
threshold
সাথে input
মান তুলনা করুন এবং ফলস্বরূপ বিটগুলিকে একটি 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 দ্বারা বিভাজ্য হতে হবে।
[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