Generates fingerprint values.
Generates fingerprint values of `data`.
Fingerprint op considers the first dimension of `data` as the batch dimension, and `output[i]` contains the fingerprint value generated from contents in `data[i, ...]` for all `i`.
Fingerprint op writes fingerprint values as byte arrays. For example, the default method `farmhash64` generates a 64-bit fingerprint value at a time. This 8-byte value is written out as an `uint8` array of size 8, in little-endian order.
For example, suppose that `data` has data type `DT_INT32` and shape (2, 3, 4), and that the fingerprint method is `farmhash64`. In this case, the output shape is (2, 8), where 2 is the batch dimension size of `data`, and 8 is the size of each fingerprint value in bytes. `output[0, :]` is generated from 12 integers in `data[0, :, :]` and similarly `output[1, :]` is generated from other 12 integers in `data[1, :, :]`.
Note that this op fingerprints the raw underlying buffer, and it does not fingerprint Tensor's metadata such as data type and/or shape. For example, the fingerprint values are invariant under reshapes and bitcasts as long as the batch dimension remain the same:
Fingerprint(data) == Fingerprint(Reshape(data, ...))
Fingerprint(data) == Fingerprint(Bitcast(data, ...))
For string data, one should expect `Fingerprint(data) !=
Fingerprint(ReduceJoin(data))` in general.
Public Methods
Output < UInt8 > |
asOutput
()
Returns the symbolic handle of a tensor.
|
static <T> Fingerprint | |
Output < UInt8 > |
fingerprint
()
A two-dimensional `Tensor` of type `tf.uint8`.
|
Inherited Methods
Public Methods
public Output < UInt8 > asOutput ()
Returns the symbolic handle of a tensor.
Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.
public static Fingerprint create ( Scope scope, Operand <T> data, Operand <String> method)
Factory method to create a class wrapping a new Fingerprint operation.
Parameters
scope | current scope |
---|---|
data | Must have rank 1 or higher. |
method | Fingerprint method used by this op. Currently available method is `farmhash::fingerprint64`. |
Returns
- a new instance of Fingerprint