Liu*_*Liu 5 sparse-matrix pytorch
我可以使用torch.sparse.mm()或torch.spmm()直接在稀疏矩阵和密集矩阵之间进行乘法,但是我应该选择哪个函数进行元素乘法?
你可以自己实现这个乘法
def sparse_dense_mul(s, d):
i = s._indices()
v = s._values()
dv = d[i[0,:], i[1,:]] # get values from relevant entries of dense matrix
return torch.sparse.FloatTensor(i, v * dv, s.size())
Run Code Online (Sandbox Code Playgroud)
请注意,由于乘法运算的线性,您无需担心是否s合并。