如何在TensorFlow中索引稀疏张量?

时间:2016-12-16 13:22:04

标签: python tensorflow sparse-matrix matrix-indexing

有没有办法在稀疏张量的情况下索引稀疏张量的单元格/部分?

# dens_tensor.shape = [10, 10, 10]
dense_cell = dense_tensor[0,0,1]

如果没有,有人知道解决稀疏张量的变通方法吗?

1 个答案:

答案 0 :(得分:1)

SparseTensor有一个名为indices的字段,它允许您获得维度的二维张量(N,ndims),其中N =稀疏矩阵中非零项的数量,ndims =维数稀疏矩阵。

鉴于这个2D张量,您当然可以在张量内搜索所需的索引。 AFAIK,tensorflow没有这样的搜索,但你可以在2D张量上做session.run(),然后在这个2D numpy数组(https://stackoverflow.com/a/25823710/5249801)中搜索你的索引(0,0,1) 。

如果在numpy数组x中找到索引tf.Session().run(sparse_matrix.indices)所需的索引(0,0,1),那么您要查找的值也在索引{密集的2D张量x

中的{1}}