tf.fingerprint
View source on GitHub |
Generates fingerprint values.
tf.fingerprint( data, method='farmhash64', name=None )
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 tf.uint8
array of size 8, in little-endian order.
For example, suppose that data
has data type tf.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:
tf.fingerprint(data) == tf.fingerprint(tf.reshape(data, ...)) tf.fingerprint(data) == tf.fingerprint(tf.bitcast(data, ...))
For string data, one should expect tf.fingerprint(data) != tf.fingerprint(tf.string.reduce_join(data))
in general.
Args | |
---|---|
data | A Tensor . Must have rank 1 or higher. |
method | A Tensor of type tf.string . Fingerprint method used by this op. Currently available method is farmhash64 . |
name | A name for the operation (optional). |
Returns | |
---|---|
A two-dimensional Tensor of type tf.uint8 . The first dimension equals to data 's first dimension, and the second dimension size depends on the fingerprint algorithm. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/fingerprint