tensorflow:: ops:: StringToHashBucketStrong

#include <string_ops.h>

入力テンソル内の各文字列を、バケット数で割った余りのハッシュ値に変換します。

まとめ

ハッシュ関数は、処理内の文字列の内容に対して決定論的です。ハッシュ関数はキー付きハッシュ関数であり、属性keyハッシュ関数のキーを定義します。key key 2 つの要素からなる配列です。

入力が悪意のあるもの(例えば、追加コンポーネントを含むURLなど)である場合、強力なハッシュ関数が重要になります。攻撃者は、サービス拒否攻撃や結果を歪める目的で、入力を同じバケットにハッシュ化しようとする可能性があります。強力なハッシュ関数を使用することで、バケット間でハッシュ値の分布が偏った入力を見つけることを困難にすることができます。そのためには、ハッシュ関数を攻撃者には知られていない高エントロピー(ランダム)な「キー」で初期化する必要があります。

この堅牢性の向上には、 tf.string_to_hash_bucket_fastと比較して約 4 倍の計算時間というコストがかかります。

議論:

  • スコープ:スコープオブジェクト
  • 入力: ハッシュバケットを割り当てる文字列。
  • num_buckets: バケットの数。
  • key: ハッシュ関数のシード値として使用されるキー。2つの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

 StringToHashBucketStrong(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 num_buckets,
  const gtl::ArraySlice< int > & key
)

ノード

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const