テンソルフロー::作戦::指紋

#include <array_ops.h>

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

まとめ

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

フィンガープリントop はdataの最初の次元をバッチ次元と見なし、 output[i]にはすべてのidata[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))を期待する必要があります。

引数:

  • スコープ:スコープオブジェクト
  • データ:ランク1以上である必要があります。
  • Method: この操作で使用されるフィンガープリントメソッド。現在利用可能なメソッドはfarmhash::fingerprint64です。

戻り値:

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

コンストラクターとデストラクター

Fingerprint (const :: tensorflow::Scope & scope, :: tensorflow::Input data, :: tensorflow::Input method)

パブリック属性

fingerprint
operation

公共機能

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

パブリック属性

指紋

::tensorflow::Output fingerprint

手術

Operation operation

公共機能

指紋

 Fingerprint(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input data,
  ::tensorflow::Input method
)

ノード

::tensorflow::Node * node() const 

演算子::tensorflow::入力

 operator::tensorflow::Input() const 

演算子::tensorflow::出力

 operator::tensorflow::Output() const