تدفق التوتر:: العمليات:: بصمة
#include <array_ops.h>
يولد قيم بصمات الأصابع.
ملخص
يولد قيم بصمات الأصابع data
.
تعتبر عملية بصمة الإصبع البعد الأول data
هو البعد الدفعي، ويحتوي output[i]
على قيمة بصمة الإصبع التي تم إنشاؤها من محتويات data[i, ...]
لجميع i
.
يقوم Fingerprint op بكتابة قيم بصمات الأصابع كمصفوفات بايت. على سبيل المثال، تقوم الطريقة الافتراضية farmhash64
بإنشاء قيمة بصمة 64 بت في المرة الواحدة. تتم كتابة هذه القيمة المكونة من 8 بايت على هيئة مصفوفة uint8
بحجم 8، بترتيب نهاية صغير.
على سبيل المثال، لنفترض أن data
تحتوي على نوع البيانات DT_INT32
والشكل (2، 3، 4)، وأن طريقة بصمة الإصبع هي farmhash64
. في هذه الحالة، يكون شكل الإخراج هو (2، 8)، حيث 2 هو حجم البعد الدفعي data
، و8 هو حجم كل قيمة بصمة بالبايت. يتم إنشاء output[0, :]
من 12 عددًا صحيحًا في data[0, :, :]
وبالمثل يتم إنشاء output[1, :]
من 12 عددًا صحيحًا آخر في data[1, :, :]
.
لاحظ أن هذه العملية تضع بصمة على المخزن المؤقت الأساسي، ولا تطبع بصمة البيانات التعريفية لـ Tensor مثل نوع البيانات و/أو الشكل. على سبيل المثال، تكون قيم بصمة الإصبع ثابتة في عمليات إعادة التشكيل والبث الثنائي طالما ظل بُعد الدُفعة كما هو:
Fingerprint(data) == Fingerprint(Reshape(data, ...))
Fingerprint(data) == Fingerprint(Bitcast(data, ...))
بالنسبة لبيانات السلسلة، ينبغي للمرء أن يتوقع Fingerprint(data) != Fingerprint(ReduceJoin(data))
بشكل عام.
الحجج:
- النطاق: كائن النطاق
- البيانات: يجب أن يكون لديك الرتبة 1 أو أعلى.
- الطريقة: طريقة بصمة الإصبع المستخدمة في هذا المرجع. الطريقة المتوفرة حاليًا هي
farmhash::fingerprint64
.
العوائد:
-
Output
: Tensor
ثنائي الأبعاد من النوع tf.uint8
. البعد الأول يساوي البعد الأول data
، وحجم البعد الثاني يعتمد على خوارزمية بصمة الإصبع.
الصفات العامة
بصمة
::tensorflow::Output fingerprint
عملية
Operation operation
الوظائف العامة
بصمة
Fingerprint(
const ::tensorflow::Scope & scope,
::tensorflow::Input data,
::tensorflow::Input method
)
العقدة
::tensorflow::Node * node() const
operator::tensorflow::Input() const
المشغل::tensorflow::الإخراج
operator::tensorflow::Output() const
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# tensorflow::ops::Fingerprint Class Reference\n\ntensorflow::ops::Fingerprint\n============================\n\n`#include \u003carray_ops.h\u003e`\n\nGenerates fingerprint values.\n\nSummary\n-------\n\nGenerates fingerprint values of `data`.\n\n[Fingerprint](/versions/r2.1/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`.\n\n[Fingerprint](/versions/r2.1/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.\n\nFor 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, :, :]`.\n\nNote that this op fingerprints the raw underlying buffer, and it does not fingerprint [Tensor](/versions/r2.1/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:\n\n\n```text\nFingerprint(data) == Fingerprint(Reshape(data, ...))\nFingerprint(data) == Fingerprint(Bitcast(data, ...))\n```\n\n\u003cbr /\u003e\n\nFor string data, one should expect `Fingerprint(data) != Fingerprint(ReduceJoin(data))` in general.\n\nArguments:\n\n- scope: A [Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- data: Must have rank 1 or higher.\n- method: [Fingerprint](/versions/r2.1/api_docs/cc/class/tensorflow/ops/fingerprint#classtensorflow_1_1ops_1_1_fingerprint) method used by this op. Currently available method is `farmhash::fingerprint64`.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): A two-dimensional [Tensor](/versions/r2.1/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.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [Fingerprint](#classtensorflow_1_1ops_1_1_fingerprint_1a5a9ba3aaf3975b520b93b93f97d3218e)`(const ::`[tensorflow::Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` data, ::`[tensorflow::Input](/versions/r2.1/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.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [operation](#classtensorflow_1_1ops_1_1_fingerprint_1a28c7645b277237010a0c6e2b37c9e520) | [Operation](/versions/r2.1/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```"]]