Fingerprint

パブリック最終クラスの指紋

フィンガープリント値を生成します。

「data」のフィンガープリント値を生成します。

フィンガープリント操作は `data` の最初の次元をバッチ次元と見なし、`output[i]` にはすべての `i` の `data[i, ...]` の内容から生成されたフィンガープリント値が含まれます。

フィンガープリント演算は、フィンガープリント値をバイト配列として書き込みます。たとえば、デフォルトのメソッド「farmhash64」は、一度に 64 ビットのフィンガープリント値を生成します。この 8 バイトの値は、サイズ 8 の「uint8」配列としてリトルエンディアン順に書き込まれます。

たとえば、「data」のデータ型が「DT_INT32」、形状が (2, 3, 4) であり、フィンガープリントのメソッドが「farmhash64」であるとします。この場合、出力形状は (2, 8) です。ここで、2 は「data」のバッチ次元サイズ、8 は各フィンガープリント値のバイト単位のサイズです。 「output[0, :]」は「data[0, :, :]」内の 12 個の整数から生成され、同様に「output[1, :]」は「data[1, :, :]」内の他の 12 個の整数から生成されます。 `。

この操作は、生の基礎となるバッファーのフィンガープリントを行いますが、データ型や形状などの Tensor のメタデータのフィンガープリントは行わないことに注意してください。たとえば、バッチの次元が同じである限り、フィンガープリントの値は再形成およびビットキャストの下で不変です。

Fingerprint(data) == Fingerprint(Reshape(data, ...))
 Fingerprint(data) == Fingerprint(Bitcast(data, ...))
 
文字列データの場合、一般に `Fingerprint(data) != Fingerprint(ReduceJoin(data))` を期待する必要があります。

パブリックメソッド

出力< UInt8 >
asOutput ()
テンソルのシンボリック ハンドルを返します。
静的 <T>指紋
create (スコープスコープ、オペランド<T> データ、オペランド<String> メソッド)
新しい指紋操作をラップするクラスを作成するファクトリ メソッド。
出力< UInt8 >
指紋()
`tf.uint8` 型の 2 次元の `Tensor`。

継承されたメソッド

パブリックメソッド

public Output < UInt8 > asOutput ()

テンソルのシンボリック ハンドルを返します。

TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。

public static Fingerprint create (スコープスコープ、オペランド<T> データ、オペランド<String> メソッド)

新しい指紋操作をラップするクラスを作成するファクトリ メソッド。

パラメーター
範囲現在のスコープ
データランク1以上である必要があります。
方法この操作で使用されるフィンガープリント方式。現在利用可能なメソッドは `farmhash::fingerprint64` です。
戻り値
  • フィンガープリントの新しいインスタンス

public Output < UInt8 >フィンガープリント()

`tf.uint8` 型の 2 次元の `Tensor`。最初の次元は「データ」の最初の次元に等しく、2 番目の次元のサイズはフィンガープリント アルゴリズムによって異なります。