Fingerprint

ลายนิ้วมือ ชั้นสุดท้ายสาธารณะ

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

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

ปฏิบัติการลายนิ้วมือจะถือว่ามิติแรกของ `ข้อมูล` เป็นมิติข้อมูลแบบกลุ่ม และ `เอาท์พุท [i]` มีค่าลายนิ้วมือที่สร้างจากเนื้อหาใน `ข้อมูล[i, ...]` สำหรับ `i` ทั้งหมด

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

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

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

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

วิธีการสาธารณะ

เอาท์พุต < UInt8 >
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
ลายนิ้วมือ <T> แบบคงที่
สร้าง (ขอบเขต ขอบเขต ข้อมูล Operand <T> วิธีการ Operand <String>)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการลายนิ้วมือใหม่
เอาท์พุต < UInt8 >
ลายนิ้วมือ ()
`เทนเซอร์` สองมิติประเภท tf.uint8

วิธีการสืบทอด

วิธีการสาธารณะ

เอาท์ พุท สาธารณะ < UInt8 > asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

การสร้าง ลายนิ้วมือ สาธารณะแบบคงที่ ( ขอบเขต ขอบเขต ข้อมูล Operand <T> วิธี Operand <String>)

วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการลายนิ้วมือใหม่

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

เอาท์พุท สาธารณะ < UInt8 > ลายนิ้วมือ ()

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