9

畳み込みスパース オートエンコーダーを作成しており、値でいっぱいの 4D マトリックス (形状は[samples, N, N, D]) をスパース マトリックスに変換する必要があります。

サンプルごとに、D NxN の特徴マップがあります。各 NxN 機能マップを疎行列に変換し、最大値を 1 に、その他すべてを 0 にマッピングしたいと考えています。

実行時ではなくグラフ宣言中にこれを実行したくありません (結果の疎行列を他のグラフ操作への入力として使用する必要があるため) が、疎行列を構築するためのインデックスを取得する方法がわかりません。

4

5 に答える 5

3

密な numpy 配列を tf.SparseTensor に変換する単純なコード:

def denseNDArrayToSparseTensor(arr):
  idx  = np.where(arr != 0.0)
  return tf.SparseTensor(np.vstack(idx).T, arr[idx], arr.shape)
于 2018-01-12T07:41:50.203 に答える