當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.raw_ops.StringToHashBucketStrong用法及代碼示例


通過多個桶將輸入張量中的每個字符串轉換為其哈希模型。

用法

tf.raw_ops.StringToHashBucketStrong(
    input, num_buckets, key, name=None
)

參數

  • input Tensor 類型為 string 。分配哈希桶的字符串。
  • num_buckets int>= 1 。桶的數量。
  • key ints 的列表。用於種子哈希函數的鍵,作為兩個 uint64 元素的列表傳遞。
  • name 操作的名稱(可選)。

返回

  • Tensor 類型為 int64

哈希函數對進程中字符串的內容是確定性的。散列函數是鍵控散列函數,其中屬性key定義散列函數的鍵。 key 是一個包含 2 個元素的數組。

當輸入可能是惡意的時,強哈希很重要,例如帶有附加組件的 URL。攻擊者可能會嘗試將他們的輸入散列到同一個桶中以進行denial-of-service 攻擊或扭曲結果。強散列可用於使在桶上具有偏斜散列值分布的輸入變得困難。這要求散列函數由對手未知的high-entropy(隨機)"key" 播種。

額外的魯棒性的代價是計算時間比 tf.string_to_hash_bucket_fast 高出大約 4 倍。

例子:

tf.strings.to_hash_bucket_strong(["Hello", "TF"], 3, [1, 2]).numpy()
array([2, 0])

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.raw_ops.StringToHashBucketStrong。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。