Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
dòng chảy căng:: ôi:: StringToHashBucketMạnh
#include <string_ops.h>
Chuyển đổi từng chuỗi trong Tensor đầu vào thành mod băm của nó theo một số nhóm.
Bản tóm tắt
Hàm băm có tính xác định về nội dung của chuỗi trong tiến trình. Hàm băm là hàm băm có khóa, trong đó key
thuộc tính xác định khóa của hàm băm. key
là một mảng gồm 2 phần tử.
Hàm băm mạnh rất quan trọng khi dữ liệu đầu vào có thể độc hại, ví dụ: URL có các thành phần bổ sung. Đối thủ có thể cố gắng băm dữ liệu đầu vào của họ vào cùng một nhóm để thực hiện một cuộc tấn công từ chối dịch vụ hoặc làm sai lệch kết quả. Hàm băm mạnh có thể được sử dụng để gây khó khăn cho việc tìm kiếm đầu vào có phân bổ giá trị băm sai lệch trên các nhóm. Điều này đòi hỏi hàm băm được tạo bởi một "khóa" có entropy cao (ngẫu nhiên) mà đối thủ không biết.
Sự mạnh mẽ bổ sung đi kèm với chi phí thời gian tính toán cao hơn khoảng 4 lần so với tf.string_to_hash_bucket_fast
.
Lập luận:
- phạm vi: Một đối tượng phạm vi
- đầu vào: Các chuỗi để gán một nhóm băm.
- num_buckets: Số lượng nhóm.
- key: Khóa được sử dụng để tạo hàm băm, được truyền dưới dạng danh sách gồm hai phần tử uint64.
Trả về:
-
Output
: Một Tensor có cùng hình dạng với string_tensor
đầu vào.
Thuộc tính công khai
Chức năng công cộng
nút
::tensorflow::Node * node() const
operator::tensorflow::Input() const
toán tử::tenorflow::Đầu ra
operator::tensorflow::Output() const
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 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.1/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\nArguments:\n\n- scope: A [Scope](/versions/r2.1/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.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): A [Tensor](/versions/r2.1/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.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.1/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.1/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.1/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```"]]