Stay organized with collections
Save and categorize content based on your preferences.
tensorflow::
ops::
Fingerprint
#include <array_ops.h>
Generates fingerprint values.
Summary
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.
Args:
-
scope: A
Scope
object
-
data: Must have rank 1 or higher.
-
method:
Fingerprint
method used by this op. Currently available method is
farmhash::fingerprint64
.
Returns:
-
Output
: 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.
Public attributes
Public functions
node
::tensorflow::Node * node() const
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2021-05-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2021-05-14 UTC."],[],[],null,["# tensorflow::ops::Fingerprint Class Reference\n\ntensorflow::\nops::\nFingerprint\n==============================\n\n`\n#include \u003carray_ops.h\u003e\n`\n\n\nGenerates fingerprint values.\n\nSummary\n-------\n\n\nGenerates fingerprint values of\n`\ndata\n`\n.\n\n\n[Fingerprint](/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint)\nop considers the first dimension of\n`\ndata\n`\nas the batch dimension, and\n`\noutput[i]\n`\ncontains the fingerprint value generated from contents in\n`\ndata[i, ...]\n`\nfor all\n`\ni\n`\n.\n\n\n[Fingerprint](/versions/r2.5/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint)\nop writes fingerprint values as byte arrays. For example, the default method\n`\nfarmhash64\n`\ngenerates a 64-bit fingerprint value at a time. This 8-byte value is written out as an\n`\nuint8\n`\narray of size 8, in little-endian order.\n\n\nFor example, suppose that\n`\ndata\n`\nhas data type\n`\nDT_INT32\n`\nand shape (2, 3, 4), and that the fingerprint method is\n`\nfarmhash64\n`\n. In this case, the output shape is (2, 8), where 2 is the batch dimension size of\n`\ndata\n`\n, and 8 is the size of each fingerprint value in bytes.\n`\noutput[0, :]\n`\nis generated from 12 integers in\n`\ndata[0, :, :]\n`\nand similarly\n`\noutput[1, :]\n`\nis generated from other 12 integers in\n`\ndata[1, :, :]\n`\n.\n\n\nNote that this op fingerprints the raw underlying buffer, and it does not fingerprint\n[Tensor](/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor)\n'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:\n\n\n```text\nFingerprint(data) == Fingerprint(Reshape(data, ...))\nFingerprint(data) == Fingerprint(Bitcast(data, ...))\n```\n\n\u003cbr /\u003e\n\n\nFor string data, one should expect\n`\nFingerprint(data) != Fingerprint(ReduceJoin(data))\n`\nin general.\n\n\nArgs:\n\n- scope: A [Scope](/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- data: Must have rank 1 or higher.\n- method: [Fingerprint](/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 `\n farmhash::fingerprint64\n ` .\n\n\u003cbr /\u003e\n\n\nReturns:\n\n- `\n `[Output](/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output)`\n ` : A two-dimensional `\n `[Tensor](/versions/r2.5/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor)`\n ` of type `\n tf.uint8\n ` . The first dimension equals to `\n data\n ` 's first dimension, and the second dimension size depends on the fingerprint algorithm.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| ` `[Fingerprint](#classtensorflow_1_1ops_1_1_fingerprint_1a5a9ba3aaf3975b520b93b93f97d3218e)` (const :: `[tensorflow::Scope](/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` data, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` method) ` ||\n\n| ### Public attributes ||\n|-------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|\n| ` `[fingerprint](#classtensorflow_1_1ops_1_1_fingerprint_1acb15a2bc227362487ec02887bd37371b)` ` | ` :: `[tensorflow::Output](/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output)` ` |\n| ` `[operation](#classtensorflow_1_1ops_1_1_fingerprint_1a28c7645b277237010a0c6e2b37c9e520)` ` | ` `[Operation](/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation)` ` |\n\n| ### Public functions ||\n|---------------------------------------------------------------------------------------------------------------------------|--------------------------|\n| ` `[node](#classtensorflow_1_1ops_1_1_fingerprint_1a6605930068854f0e7e5ba0ad2ce90daa)` () const ` | ` ::tensorflow::Node * ` |\n| ` `[operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_fingerprint_1af0b4d90e2ccbff5efb796771a356e94d)` () const ` | ` ` |\n| ` `[operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_fingerprint_1a1d72f0d143362ae62b95dfdadd166164)` () const ` | ` ` |\n\nPublic attributes\n-----------------\n\n### fingerprint\n\n```text\n::tensorflow::Output fingerprint\n``` \n\n### operation\n\n```text\nOperation operation\n``` \n\nPublic functions\n----------------\n\n### Fingerprint\n\n```gdscript\n Fingerprint(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input data,\n ::tensorflow::Input method\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n```"]]