tensorflow:: عملیات:: مقایسه و بیت‌پک

#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]

نکته : در حال حاضر، داخلی‌ترین بُعد تانسور باید بر ۸ بخش‌پذیر باشد.

با توجه به input به شکل [s0, s1, ..., s_n] ، خروجی یک تانسور 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 

عملگر::tensorflow::ورودی

 operator::tensorflow::Input() const 

عملگر::tensorflow::خروجی

 operator::tensorflow::Output() const