เทนเซอร์โฟลว์:: ปฏิบัติการ:: ลายนิ้วมือ

#include <array_ops.h>

สร้างค่าลายนิ้วมือ

สรุป

สร้างค่าลายนิ้วมือของ data

op ลายนิ้วมือ พิจารณามิติแรกของ data เป็นมิติแบทช์ และ output[i] มีค่าลายนิ้วมือที่สร้างจากเนื้อหาใน data[i, ...] สำหรับ i ทั้งหมด

ลายนิ้วมือ op เขียนค่าลายนิ้วมือเป็นอาร์เรย์ไบต์ ตัวอย่างเช่น วิธีการเริ่มต้น farmhash64 จะสร้างค่าลายนิ้วมือแบบ 64 บิตในแต่ละครั้ง ค่า 8 ไบต์นี้เขียนออกมาเป็นอาร์เรย์ uint8 ขนาด 8 ตามลำดับแบบ little-endian

ตัวอย่างเช่น สมมติว่า data มีประเภทข้อมูล DT_INT32 และรูปร่าง (2, 3, 4) และวิธีการพิมพ์ลายนิ้วมือคือ farmhash64 ในกรณีนี้ รูปร่างเอาต์พุตคือ (2, 8) โดยที่ 2 คือขนาดมิติแบทช์ของ data และ 8 คือขนาดของค่าลายนิ้วมือแต่ละค่าในหน่วยไบต์ output[0, :] ถูกสร้างขึ้นจากจำนวนเต็ม 12 จำนวนใน data[0, :, :] และ output[1, :] ในทำนองเดียวกันถูกสร้างขึ้นจากจำนวนเต็ม 12 จำนวนอื่น ๆ ใน data[1, :, :]

โปรดทราบว่าการดำเนินการนี้จะสแกนลายนิ้วมือของบัฟเฟอร์พื้นฐานดิบ และจะไม่พิมพ์ลายนิ้วมือข้อมูลเมตาของ Tensor เช่น ประเภทข้อมูลและ/หรือรูปร่าง ตัวอย่างเช่น ค่าลายนิ้วมือจะไม่เปลี่ยนแปลงภายใต้การปรับรูปร่างและบิตคาสต์ตราบใดที่มิติข้อมูลแบทช์ยังคงเหมือนเดิม:

Fingerprint(data) == Fingerprint(Reshape(data, ...))
Fingerprint(data) == Fingerprint(Bitcast(data, ...))

สำหรับข้อมูลสตริง เราควรคาดหวัง Fingerprint(data) != Fingerprint(ReduceJoin(data)) โดยทั่วไป

ข้อโต้แย้ง:

  • ขอบเขต: วัตถุ ขอบเขต
  • ข้อมูล: ต้องมีอันดับ 1 หรือสูงกว่า
  • วิธีการ: วิธี ลายนิ้วมือ ที่ใช้โดยฝ่ายปฏิบัติการนี้ วิธีการที่มีอยู่ในปัจจุบันคือ farmhash::fingerprint64

ผลตอบแทน:

  • Output : Tensor สองมิติประเภท tf.uint8 มิติข้อมูลแรกเท่ากับมิติแรกของ data และขนาดมิติที่สองขึ้นอยู่กับอัลกอริธึมลายนิ้วมือ

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

Fingerprint (const :: tensorflow::Scope & scope, :: tensorflow::Input data, :: tensorflow::Input method)

คุณลักษณะสาธารณะ

fingerprint
operation

งานสาธารณะ

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

คุณลักษณะสาธารณะ

ลายนิ้วมือ

::tensorflow::Output fingerprint

การดำเนินการ

Operation operation

งานสาธารณะ

ลายนิ้วมือ

 Fingerprint(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input data,
  ::tensorflow::Input method
)

โหนด

::tensorflow::Node * node() const 

ตัวดำเนินการ::tensorflow::อินพุต

 operator::tensorflow::Input() const 

ตัวดำเนินการ::tensorflow::เอาต์พุต

 operator::tensorflow::Output() const