在pytorch中,我可以通过首先将两个稀疏矩阵转换成密集形式来实现乘法
adjdense = torch.sparse.FloatTensor(indextmp, valuetmp, torch.Size([num_nodes,num_nodes])).to_dense()
mask_dense = torch.sparse.FloatTensor(edge_index, edge_mask_list[k], torch.Size([num_nodes,num_nodes])).to_dense()
gdcdense = adjdense * mask_dense
,但当图很大时,这种方法需要大量内存。因此,如何在pytorch中稀疏矩阵与稀疏矩阵元素相乘?非常感谢。
谢谢。我已经知道怎么做了。
adjsparse = torch.sparse。FloatTensor(indextmp, valuetmp, torch.Size([num_nodes,num_nodes]))Masksparse = torch.sparse。FloatTensor (edge_index edge_mask_list [k], torch.Size ([num_nodes num_nodes]))
result = adjsparse.mul(masksparse)