تدفق التوتر:: العمليات:: StringToHashBucketStrong
#include <string_ops.h>
يحول كل سلسلة في Tensor الإدخال إلى تعديل التجزئة الخاص به بواسطة عدد من المجموعات.
ملخص
تعتبر وظيفة التجزئة حتمية على محتوى السلسلة داخل العملية. وظيفة التجزئة هي وظيفة تجزئة ذات مفاتيح، حيث يحدد key
السمة مفتاح وظيفة التجزئة. key
هو مجموعة من عنصرين.
تعتبر التجزئة القوية مهمة عندما تكون المدخلات ضارة، على سبيل المثال، عناوين URL التي تحتوي على مكونات إضافية. يمكن أن يحاول الخصوم تجزئة مدخلاتهم إلى نفس المجموعة لهجوم رفض الخدمة أو لتحريف النتائج. يمكن استخدام التجزئة القوية لتجعل من الصعب العثور على المدخلات ذات توزيع قيمة التجزئة المنحرفة على المجموعات. يتطلب هذا أن يتم زرع دالة التجزئة بواسطة "مفتاح" عالي الإنتروبيا (عشوائي) غير معروف للخصم.
تأتي المتانة الإضافية بتكلفة وقت حوسبة أعلى بمقدار 4 مرات تقريبًا من tf.string_to_hash_bucket_fast
.
أمثلة:
tf.strings.to_hash_bucket_strong(["Hello"، "TF"]، 3، [1، 2]).numpy() array([2, 0])
الحجج:
- النطاق: كائن النطاق
- الإدخال: السلاسل لتعيين دلو التجزئة.
- num_buckets: عدد الدلاء.
- المفتاح: المفتاح المستخدم لزرع دالة التجزئة، ويتم تمريره كقائمة مكونة من عنصرين uint64.
العوائد:
-
Output
: موتر له نفس شكل موتر الإدخال string_tensor
.
الصفات العامة
عملية
Operation operation
الإخراج
::tensorflow::Output output
الوظائف العامة
StringToHashBucketStrong
StringToHashBucketStrong(
const ::tensorflow::Scope & scope,
::tensorflow::Input input,
int64 num_buckets,
const gtl::ArraySlice< int > & key
)
العقدة
::tensorflow::Node * node() const
operator::tensorflow::Input() const
المشغل::tensorflow::الإخراج
operator::tensorflow::Output() const
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# tensorflow::ops::StringToHashBucketStrong Class Reference\n\ntensorflow::ops::StringToHashBucketStrong\n=========================================\n\n`#include \u003cstring_ops.h\u003e`\n\nConverts each string in the input [Tensor](/versions/r2.2/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) to its hash mod by a number of buckets.\n\nSummary\n-------\n\nThe hash function is deterministic on the content of the string within the process. The hash function is a keyed hash function, where attribute `key` defines the key of the hash function. `key` is an array of 2 elements.\n\nA strong hash is important when inputs may be malicious, e.g. URLs with additional components. Adversaries could try to make their inputs hash to the same bucket for a denial-of-service attack or to skew the results. A strong hash can be used to make it difficult to find inputs with a skewed hash value distribution over buckets. This requires that the hash function is seeded by a high-entropy (random) \"key\" unknown to the adversary.\n\nThe additional robustness comes at a cost of roughly 4x higher compute time than `tf.string_to_hash_bucket_fast`.\n\nExamples:\n\ntf.strings.to_hash_bucket_strong(\\[\"Hello\", \"TF\"\\], 3, \\[1, 2\\]).numpy() array(\\[2, 0\\])\n\nArguments:\n\n- scope: A [Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- input: The strings to assign a hash bucket.\n- num_buckets: The number of buckets.\n- key: The key used to seed the hash function, passed as a list of two uint64 elements.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): A [Tensor](/versions/r2.2/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) of the same shape as the input `string_tensor`.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [StringToHashBucketStrong](#classtensorflow_1_1ops_1_1_string_to_hash_bucket_strong_1ac875272a421c27022485c1d156921526)`(const ::`[tensorflow::Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, int64 num_buckets, const gtl::ArraySlice\u003c int \u003e & key)` ||\n\n| ### Public attributes ||\n|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_string_to_hash_bucket_strong_1a6ef732f172d70e59235f3e6ede12b13a) | [Operation](/versions/r2.2/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output](#classtensorflow_1_1ops_1_1_string_to_hash_bucket_strong_1a2b2f736fdbc1add249f1a4dfd72ab6dd) | `::`[tensorflow::Output](/versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|----------------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_string_to_hash_bucket_strong_1a2f2541ad755307573080aaaba9d46e52)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_string_to_hash_bucket_strong_1adf2f87bf8defcccf0aa91ddf87b3a2e5)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_string_to_hash_bucket_strong_1a5549b421caa8118777e62a2538e604f9)`() const ` | ` ` ` ` |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output\n\n```text\n::tensorflow::Output output\n``` \n\nPublic functions\n----------------\n\n### StringToHashBucketStrong\n\n```gdscript\n StringToHashBucketStrong(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n int64 num_buckets,\n const gtl::ArraySlice\u003c int \u003e & key\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n```"]]