@Operator public final class Fingerprint extends PrimitiveOp implements Operand<UInt8>
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.operation
Modifier and Type | Method and Description |
---|---|
Output<UInt8> |
asOutput()
Returns the symbolic handle of a tensor.
|
static <T> Fingerprint |
create(Scope scope,
Operand<T> data,
Operand<String> method)
Factory method to create a class wrapping a new Fingerprint operation.
|
Output<UInt8> |
fingerprint()
A two-dimensional `Tensor` of type `tf.uint8`.
|
equals, hashCode, op, toString
public static <T> Fingerprint create(Scope scope, Operand<T> data, Operand<String> method)
scope
- current scopedata
- Must have rank 1 or higher.method
- Fingerprint method used by this op. Currently available method is
`farmhash::fingerprint64`.public Output<UInt8> fingerprint()
public Output<UInt8> asOutput()
Operand
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.
asOutput
in interface Operand<UInt8>
OperationBuilder.addInput(Output)
Copyright © 2022. All rights reserved.