เทนเซอร์โฟลว์ :: ops :: เปรียบเทียบ AndBitpack

#include <math_ops.h>

เปรียบเทียบค่าของ input กับ threshold และแพ็คบิตที่เป็นผลลัพธ์ลงใน uint8

สรุป

การเปรียบเทียบแต่ละครั้งจะส่งคืนค่าบูลีน true (ถ้า input_value > threshold ) หรือ false

การดำเนินการนี้มีประโยชน์สำหรับ Locality-Sensitive-Hashing (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 ได้

ด้วย input มีรูปทรง [s0, s1, ..., s_n] เอาต์พุตจะเป็นรูปเทนเซอร์ uint8 [s0, s1, ..., s_n / 8]

อาร์กิวเมนต์:

  • ขอบเขต: วัตถุ ขอบเขต
  • input: ค่าที่จะเปรียบเทียบกับ threshold และ bitpack
  • threshold: เกณฑ์ที่จะเปรียบเทียบกับ

ผลตอบแทน:

  • Output : การเปรียบเทียบแบบ bitpacked

ผู้สร้างและผู้ทำลาย

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

หน้าที่สาธารณะ

เปรียบเทียบ AndBitpack

 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