使用张量流的稀疏矩阵对角乘法

时间:2017-01-16 02:27:00

标签: tensorflow

我有一个对称的稀疏矩阵M和一个对角矩阵D.我想计算DMD

M被创建为SparseTensor,D可以表示为tf.diag或SparseTensor - 理论上,完全有可能在不经过密集矩阵的情况下评估DMD,但我无法弄清楚如何 - 有人有任何提示吗?

1 个答案:

答案 0 :(得分:1)

以下是一些提示。

注意,在M之前和之后乘以D的效果是将每个非零元素M(i,j)与D(i,i)和D(j,j)相乘。请参阅here

说P = DMD。要将P构造为sparse tensor,您将需要索引,值和形状。您可以将索引和形状设置为M的索引和形状,并使用tf.map_fn计算超过M的值和D(D可以是密集的1D张量)。