টেনসরফ্লো :: অপস:: তুলনা করুন এবং বিটপ্যাক

#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