【发布时间】:2018-08-30 18:29:53
【问题描述】:
给定:
self.A = torch.autograd.Variable(random_sparse(n = dim))
self.w = torch.autograd.Variable(torch.Tensor(np.random.normal(0,1,(dim,dim))))
目标1:
torch.mm(self.A, self.w)
目标2:
torch.spmm(self.A, self.w)
结果1:
TypeError: Type torch.sparse.FloatTensor doesn't implement stateless method addmm
结果2:
AttributeError: 'module' object has no attribute 'spmm'
我的 PyTorch 版本是 0.1.12_2 - 非常感谢可能的解决方案。
【问题讨论】:
-
嗨,你能否澄清一下(即邮政编码/缩写代码)什么 random_sparse 可以让我重现错误?谢谢!
-
@mexmex -
random_sparse只是创建一个带有随机条目的稀疏矩阵..可以是任何稀疏矩阵:)。 -
我明白了。抱歉,我无法在这方面取得太大进展。我注意到如果 A 和 w 是张量,但不是 Variables(),它会起作用,这会导致您的第一个错误。我认为稀疏的兼容性仍然非常有限,因为 API 仍然是实验性的。但恐怕这并不能解决你的问题。
标签: python sparse-matrix pytorch