# tensorflow::ops::Fingerprint Class Reference

# tensorflow::
ops::
Fingerprint

`
#include <array_ops.h>
`


Generates fingerprint values.

## Summary


Generates fingerprint values of
`
data
`
.


[Fingerprint](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_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](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_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](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_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, ...))
```

<br />


For string data, one should expect
`
Fingerprint(data) != Fingerprint(ReduceJoin(data))
`
in general.


Args:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- data: Must have rank 1 or higher.
- method: [Fingerprint](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint) method used by this op. Currently available method is `
  farmhash::fingerprint64
  ` .

<br />


Returns:

- `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output
  ` : A two-dimensional `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor
  ` of type `
  tf.uint8
  ` . The first dimension equals to `
  data
  ` 's first dimension, and the second dimension size depends on the fingerprint algorithm.

<br />

| ### Constructors and Destructors ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint_1a5a9ba3aaf3975b520b93b93f97d3218e (const :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input data, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input method) ` ||

| ### Public attributes ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint_1acb15a2bc227362487ec02887bd37371b ` | ` :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint_1a28c7645b277237010a0c6e2b37c9e520 ` | ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation ` |

| ### Public functions ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint_1a6605930068854f0e7e5ba0ad2ce90daa () const ` | ` ::tensorflow::Node * ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint_1af0b4d90e2ccbff5efb796771a356e94d () const ` | ` ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint_1a1d72f0d143362ae62b95dfdadd166164 () const ` | ` ` |

## Public attributes

### fingerprint

```
::tensorflow::Output fingerprint
```

### operation

```
Operation operation
```

## Public functions

### Fingerprint

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

### node

```
::tensorflow::Node * node() const 
```

### operator::tensorflow::Input

```
 operator::tensorflow::Input() const 
```

### operator::tensorflow::Output

```
 operator::tensorflow::Output() const 
```