Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
przepływ tensorowy:: ops:: RzadkiConcat
#include <sparse_ops.h>
Łączy listę SparseTensor
wzdłuż określonego wymiaru.
Streszczenie
Konkatenacja dotyczy gęstych wersji tych rzadkich tensorów. Zakłada się, że każde wejście jest SparseTensor
, którego elementy są uporządkowane według rosnącej liczby wymiarów.
Kształty wszystkich danych wejściowych muszą się zgadzać, z wyjątkiem wymiaru concat. Listy indices
, values
i shapes
muszą mieć tę samą długość.
Kształt wyjściowy jest identyczny z kształtem wejściowym, z wyjątkiem wymiaru konkatowego, gdzie jest to suma rozmiarów wejściowych wzdłuż tego wymiaru.
Elementy wyjściowe zostaną wykorzystane, aby zachować porządek sortowania wzdłuż rosnącej liczby wymiarów.
Ta operacja działa w czasie O(M log M)
, gdzie M
jest całkowitą liczbą niepustych wartości na wszystkich wejściach. Wynika to z potrzeby sortowania wewnętrznego w celu skutecznego łączenia w dowolnym wymiarze.
Na przykład, jeśli concat_dim = 1
i dane wejściowe to
sp_inputs[0]: shape = [2, 3]
[0, 2]: "a"
[1, 0]: "b"
[1, 1]: "c"
sp_inputs[1]: shape = [2, 4]
[0, 1]: "d"
[0, 2]: "e"
wtedy będzie wynik
shape = [2, 7]
[0, 2]: "a"
[0, 4]: "d"
[0, 5]: "e"
[1, 0]: "b"
[1, 1]: "c"
Graficznie jest to równoznaczne z wykonaniem
[ a] concat [ d e ] = [ a d e ]
[b c ] [ ] [b c ]
Argumenty:
- zakres: Obiekt Scope
- indeksy: 2-D. Indeksy każdego wejścia
SparseTensor
. - wartości: 1-D. Niepuste wartości każdego
SparseTensor
. - kształty: 1-D. Kształty każdego
SparseTensor
. - concat_dim: Wymiar do połączenia. Musi należeć do zakresu [-rank, ranga), gdzie ranga to liczba wymiarów w każdym wejściu
SparseTensor
.
Zwroty:
-
Output
indeksy_wyjściowe: 2-D. Indeksy połączonego SparseTensor
. -
Output
wartości_wyjściowe: 1-D. Niepuste wartości połączonego SparseTensor
. -
Output
kształt_wyjścia: 1-D. Kształt połączonego SparseTensor
.
Atrybuty publiczne
Funkcje publiczne
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-26 UTC."],[],[],null,["# tensorflow::ops::SparseConcat Class Reference\n\ntensorflow::ops::SparseConcat\n=============================\n\n`#include \u003csparse_ops.h\u003e`\n\nConcatenates a list of `SparseTensor` along the specified dimension.\n\nSummary\n-------\n\nConcatenation is with respect to the dense versions of these sparse tensors. It is assumed that each input is a `SparseTensor` whose elements are ordered along increasing dimension number.\n\n[All](/versions/r2.1/api_docs/cc/class/tensorflow/ops/all#classtensorflow_1_1ops_1_1_all) inputs' shapes must match, except for the concat dimension. The `indices`, `values`, and `shapes` lists must have the same length.\n\nThe output shape is identical to the inputs', except along the concat dimension, where it is the sum of the inputs' sizes along that dimension.\n\nThe output elements will be resorted to preserve the sort order along increasing dimension number.\n\nThis op runs in `O(M log M)` time, where `M` is the total number of non-empty values across all inputs. This is due to the need for an internal sort in order to concatenate efficiently across an arbitrary dimension.\n\nFor example, if `concat_dim = 1` and the inputs are \n\n```scdoc\nsp_inputs[0]: shape = [2, 3]\n[0, 2]: \"a\"\n[1, 0]: \"b\"\n[1, 1]: \"c\"\n\nsp_inputs[1]: shape = [2, 4]\n[0, 1]: \"d\"\n[0, 2]: \"e\"\n```\n\n\u003cbr /\u003e\n\nthen the output will be \n\n```text\nshape = [2, 7]\n[0, 2]: \"a\"\n[0, 4]: \"d\"\n[0, 5]: \"e\"\n[1, 0]: \"b\"\n[1, 1]: \"c\"\n```\n\n\u003cbr /\u003e\n\nGraphically this is equivalent to doing \n\n```ini\n[ a] concat [ d e ] = [ a d e ]\n[b c ] [ ] [b c ]\n```\n\n\u003cbr /\u003e\n\nArguments:\n\n- scope: A [Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- indices: 2-D. Indices of each input `SparseTensor`.\n- values: 1-D. Non-empty values of each `SparseTensor`.\n- shapes: 1-D. Shapes of each `SparseTensor`.\n- concat_dim: Dimension to concatenate along. Must be in range \\[-rank, rank), where rank is the number of dimensions in each input `SparseTensor`.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) output_indices: 2-D. Indices of the concatenated `SparseTensor`.\n- [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) output_values: 1-D. Non-empty values of the concatenated `SparseTensor`.\n- [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) output_shape: 1-D. Shape of the concatenated `SparseTensor`.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [SparseConcat](#classtensorflow_1_1ops_1_1_sparse_concat_1a50aa275ec5a88496fd4e99f0f1003616)`(const ::`[tensorflow::Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::InputList](/versions/r2.1/api_docs/cc/class/tensorflow/input-list#classtensorflow_1_1_input_list)` indices, ::`[tensorflow::InputList](/versions/r2.1/api_docs/cc/class/tensorflow/input-list#classtensorflow_1_1_input_list)` values, ::`[tensorflow::InputList](/versions/r2.1/api_docs/cc/class/tensorflow/input-list#classtensorflow_1_1_input_list)` shapes, int64 concat_dim)` ||\n\n| ### Public attributes ||\n|------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_sparse_concat_1a8db5a398751bcf0e460c5032ae1ab292) | [Operation](/versions/r2.1/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output_indices](#classtensorflow_1_1ops_1_1_sparse_concat_1a79b9cef174b8488e90f52907d6d64a0f) | `::`[tensorflow::Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [output_shape](#classtensorflow_1_1ops_1_1_sparse_concat_1ae3130991367ac10382b9a6a310b1eff5) | `::`[tensorflow::Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [output_values](#classtensorflow_1_1ops_1_1_sparse_concat_1a626bd96bc86fb8ecddbd8cbb7a6828cf) | `::`[tensorflow::Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output_indices\n\n```scdoc\n::tensorflow::Output output_indices\n``` \n\n### output_shape\n\n```scdoc\n::tensorflow::Output output_shape\n``` \n\n### output_values\n\n```scdoc\n::tensorflow::Output output_values\n``` \n\nPublic functions\n----------------\n\n### SparseConcat\n\n```gdscript\n SparseConcat(\n const ::tensorflow::Scope & scope,\n ::tensorflow::InputList indices,\n ::tensorflow::InputList values,\n ::tensorflow::InputList shapes,\n int64 concat_dim\n)\n```"]]