Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
przepływ tensorowy:: ops:: StringToHashBucketStrong
#include <string_ops.h>
Konwertuje każdy ciąg w wejściowym Tensorze na jego mod mieszający przez liczbę segmentów.
Streszczenie
Funkcja skrótu deterministycznie określa zawartość ciągu znaków w procesie. Funkcja skrótu jest funkcją skrótu z kluczem, gdzie key
atrybutu definiuje klucz funkcji skrótu. key
jest tablicą składającą się z 2 elementów.
Silny skrót jest ważny, gdy dane wejściowe mogą być złośliwe, np. adresy URL z dodatkowymi komponentami. Przeciwnicy mogą próbować zaszyfrować swoje dane wejściowe w tym samym zasobniku w celu przeprowadzenia ataku typu „odmowa usługi” lub wypaczenia wyników. Aby utrudnić znalezienie danych wejściowych o nierównym rozkładzie wartości skrótu w segmentach, można zastosować silny skrót. Wymaga to, aby funkcja mieszająca była zaszczepiana przez „klucz” o wysokiej entropii (losowy) nieznany przeciwnikowi.
Dodatkowa niezawodność wiąże się z kosztem około 4 razy dłuższego czasu obliczeń niż tf.string_to_hash_bucket_fast
.
Przykłady:
tf.strings.to_hash_bucket_strong(["Witam", "TF"], 3, [1, 2]).numpy() array([2, 0])
Argumenty:
- zakres: Obiekt Scope
- dane wejściowe: Ciągi znaków do przypisania zasobnika mieszania.
- num_buckets: Liczba zasobników.
- klucz: klucz używany do inicjowania funkcji skrótu, przekazywany jako lista dwóch elementów uint64.
Zwroty:
-
Output
: Tensor o tym samym kształcie co wejściowy string_tensor
.
Atrybuty publiczne
Funkcje publiczne
węzeł
::tensorflow::Node * node() const
operator::tensorflow::Input() const
operator::tensorflow::Wyjście
operator::tensorflow::Output() const
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-26 UTC."],[],[],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```"]]