テンソルフロー::作戦::スパースコンキャット

#include <sparse_ops.h>

指定された次元に沿ってSparseTensorのリストを連結します。

まとめ

連結は、これらのスパース テンソルの密なバージョンに関するものです。各入力はSparseTensorであり、その要素は次元数の増加に従って順序付けされていると想定されます。

連結次元を除き、すべての入力の形状が一致する必要があります。 indicesvalues 、およびshapesリストは同じ長さでなければなりません。

出力形状は、連結次元に沿ったものを除き、入力の形状と同一です。連結次元に沿った入力のサイズの合計です。

出力要素は、次元数の増加に応じて並べ替え順序を維持するように再ソートされます。

この演算はO(M log M)時間で実行されます。ここで、 Mはすべての入力にわたる空でない値の合計数です。これは、任意の次元にわたって効率的に連結するために内部ソートが必要であるためです。

たとえば、 concat_dim = 1で入力が

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"
の場合

出力は

shape = [2, 7]
[0, 2]: "a"
[0, 4]: "d"
[0, 5]: "e"
[1, 0]: "b"
[1, 1]: "c"
になります。

グラフィック的には、これは

[    a] concat [  d e  ] = [    a   d e  ]
[b c  ]        [       ]   [b c          ]
を実行するのと同じです。

引数:

  • スコープ:スコープオブジェクト
  • インデックス: 2-D。各入力SparseTensorのインデックス。
  • 値: 1-D。各SparseTensorの空でない値。
  • 形状: 1-D。各SparseTensorの形状。
  • concat_dim: 連結するディメンション。 [-rank, Rank) の範囲内である必要があります。rank は各入力SparseTensorの次元数です。

戻り値:

  • Output output_indices: 2-D。連結されたSparseTensorのインデックス。
  • Output出力値: 1-D。連結されたSparseTensorの空でない値。
  • Output出力形状: 1-D。連結されたSparseTensorの形状。

コンストラクターとデストラクター

SparseConcat (const :: tensorflow::Scope & scope, :: tensorflow::InputList indices, :: tensorflow::InputList values, :: tensorflow::InputList shapes, int64 concat_dim)

パブリック属性

operation
output_indices
output_shape
output_values

パブリック属性

手術

Operation operation

出力インデックス

::tensorflow::Output output_indices

出力形状

::tensorflow::Output output_shape

出力値

::tensorflow::Output output_values

公共機能

スパースコンカット

 SparseConcat(
  const ::tensorflow::Scope & scope,
  ::tensorflow::InputList indices,
  ::tensorflow::InputList values,
  ::tensorflow::InputList shapes,
  int64 concat_dim
)