tensorflow:: ops:: CompareAndBitpack

#include <math_ops.h>

input মানগুলোকে threshold সাথে তুলনা করুন এবং প্রাপ্ত বিটগুলোকে একটি 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]

দ্রষ্টব্য : বর্তমানে, টেনসরটির সর্বনিম্ন মাত্রা অবশ্যই ৮ দ্বারা বিভাজ্য হতে হবে।

[s0, s1, ..., s_n] আকারের একটি input দেওয়া হলে, আউটপুটটি হবে [s0, s1, ..., s_n / 8] আকারের একটি uint8 টেনসর।

যুক্তি:

  • স্কোপ: একটি স্কোপ অবজেক্ট
  • ইনপুট: 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

 CompareAndBitpack(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input threshold
)

নোড

::tensorflow::Node * node() const 

অপারেটর::টেনসরফ্লো::ইনপুট

 operator::tensorflow::Input() const 

অপারেটর::টেনসরফ্লো::আউটপুট

 operator::tensorflow::Output() const