tensorflow::ops::StringToHashBucketStrong
#include <string_ops.h>แปลงสตริงแต่ละสตริงใน เทนเซอร์ อินพุตให้เป็นค่าแฮชที่หารด้วยจำนวนบัคเก็ตตามที่กำหนด
สรุป
ฟังก์ชันแฮชเป็นแบบกำหนดได้ (deterministic) ขึ้นอยู่กับเนื้อหาของสตริงภายในกระบวนการ ฟังก์ชันแฮชนี้เป็นฟังก์ชันแฮชแบบมีคีย์ โดยแอตทริบิวต์ key จะกำหนดคีย์ของฟังก์ชันแฮช key เป็นอาร์เรย์ที่มี 2 องค์ประกอบ
การสร้างแฮชที่แข็งแกร่งมีความสำคัญเมื่อข้อมูลนำเข้าอาจเป็นอันตราย เช่น URL ที่มีส่วนประกอบเพิ่มเติม ผู้โจมตีอาจพยายามทำให้ข้อมูลนำเข้ามีค่าแฮชอยู่ในบัคเก็ตเดียวกันเพื่อโจมตีแบบปฏิเสธการให้บริการ หรือเพื่อบิดเบือนผลลัพธ์ การสร้างแฮชที่แข็งแกร่งสามารถใช้เพื่อทำให้ยากต่อการค้นหาข้อมูลนำเข้าที่มีการกระจายค่าแฮชที่ไม่สมดุลในแต่ละบัคเก็ต ซึ่งจำเป็นต้องใช้ "คีย์" ที่มีเอนโทรปีสูง (แบบสุ่ม) ซึ่งผู้โจมตีไม่รู้จักเป็นตัวเริ่มต้นของฟังก์ชันแฮช
ความทนทานที่เพิ่มขึ้นนี้มาพร้อมกับต้นทุนด้านเวลาในการประมวลผลที่สูงขึ้นประมาณ 4 เท่า เมื่อเทียบกับ tf.string_to_hash_bucket_fast
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- อินพุต: สตริงที่จะใช้กำหนดให้กับบัคเก็ตแฮช
- num_buckets: จำนวนบัคเก็ต
- key: คีย์ที่ใช้ในการกำหนดค่าเริ่มต้นให้กับฟังก์ชันแฮช โดยส่งผ่านเป็นลิสต์ขององค์ประกอบ uint64 สองตัว
การส่งคืนสินค้า:
ตัวสร้างและตัวทำลาย | |
|---|---|
StringToHashBucketStrong (const :: tensorflow::Scope & scope, :: tensorflow::Input input, int64 num_buckets, const gtl::ArraySlice< int > & key) |
คุณลักษณะสาธารณะ | |
|---|---|
operation | |
output | |
หน้าที่สาธารณะ | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
คุณลักษณะสาธารณะ
การดำเนินการ
Operation operation
เอาต์พุต
::tensorflow::Output output
หน้าที่สาธารณะ
สตริงไปยังแฮชบัคเก็ตที่แข็งแกร่ง
StringToHashBucketStrong( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 num_buckets, const gtl::ArraySlice< int > & key )
โหนด
::tensorflow::Node * node() const
ตัวดำเนินการ::เทนเซอร์โฟลว์::อินพุต
operator::tensorflow::Input() const
ตัวดำเนินการ::เทนเซอร์โฟลว์::เอาต์พุต
operator::tensorflow::Output() const