Tensorflow中的大型矩阵/向量乘法

时间:2019-02-13 21:10:43

标签: python tensorflow

作为图像重建问题的一部分,我需要将大的稀疏矩阵乘以矢量,然后遇到内存问题。我将如何将矩阵乘法分解为较小的问题而不引起内存问题?我已经在较小的矩阵上成功运行了以下代码

coo = HH.tocoo()
indices = np.mat([coo.row, coo.col]).transpose()
HH_sparse = tf.SparseTensorValue(indices, coo.data, coo.shape)
prod=tf.sparse_tensor_dense_matmul(HH_sparse,g)
out=sess.run(prod)

其中HH是125000x125000稀疏矩阵(194463780非零元素),g是密集矢量125000x1。使用这种方法我得到了错误

  

无法创建内容大于2GB的张量原型。

或者,我尝试使用feed_dict来输入HH矩阵,但是随后我得到了:

  

Dst张量未初始化

是否可以通过某种方式顺次馈入H矩阵的行的子集,以免GPU内存超载?

0 个答案:

没有答案