Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
dòng chảy căng:: ôi:: Dấu vân tay
#include <array_ops.h>
Tạo ra các giá trị dấu vân tay.
Bản tóm tắt
Tạo ra các giá trị dấu vân tay của data
.
Op vân tay coi thứ nguyên đầu tiên của data
là thứ nguyên lô và output[i]
chứa giá trị vân tay được tạo từ nội dung trong data[i, ...]
cho tất cả i
.
Op vân tay ghi các giá trị vân tay dưới dạng mảng byte. Ví dụ: phương thức mặc định farmhash64
tạo ra giá trị dấu vân tay 64 bit tại một thời điểm. Giá trị 8 byte này được viết dưới dạng mảng uint8
có kích thước 8, theo thứ tự endian nhỏ.
Ví dụ: giả sử data
đó có kiểu dữ liệu DT_INT32
và hình dạng (2, 3, 4) và phương thức dấu vân tay là farmhash64
. Trong trường hợp này, hình dạng đầu ra là (2, 8), trong đó 2 là kích thước kích thước lô của data
và 8 là kích thước của mỗi giá trị dấu vân tay tính bằng byte. output[0, :]
được tạo từ 12 số nguyên trong data[0, :, :]
và tương tự output[1, :]
được tạo từ 12 số nguyên khác trong data[1, :, :]
.
Lưu ý rằng op này lấy dấu vân tay của bộ đệm cơ bản thô và nó không lấy dấu vân tay siêu dữ liệu của Tensor chẳng hạn như kiểu dữ liệu và/hoặc hình dạng. Ví dụ: các giá trị dấu vân tay là bất biến khi định hình lại và truyền bit miễn là kích thước lô vẫn giữ nguyên:
Fingerprint(data) == Fingerprint(Reshape(data, ...))
Fingerprint(data) == Fingerprint(Bitcast(data, ...))
Đối với dữ liệu chuỗi, người ta nên mong đợi Fingerprint(data) != Fingerprint(ReduceJoin(data))
nói chung.
Lập luận:
- phạm vi: Một đối tượng Phạm vi
- data: Phải có hạng 1 trở lên.
- phương pháp: Phương pháp vân tay được sử dụng bởi op này. Phương pháp hiện có sẵn là
farmhash::fingerprint64
.
Trả về:
-
Output
: Một Tensor
hai chiều loại tf.uint8
. Kích thước thứ nhất bằng với kích thước thứ nhất của data
và kích thước thứ hai phụ thuộc vào thuật toán dấu vân tay.
Thuộc tính công khai
Chức năng công cộng
nút
::tensorflow::Node * node() const
operator::tensorflow::Input() const
toán tử::tenorflow::Đầu ra
operator::tensorflow::Output() const
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[],[],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```"]]