转换方法
cipy稠密矩阵转换为scipy的稀疏矩阵方法为scipy.sparse,scipy的稀疏矩阵转为稠密矩阵的方法,直接.todense()
pytorch的稀疏矩阵转为稠密矩阵.to_dense(),稠密矩阵转稀疏矩阵torch.sparse.FloatTensor(i, v, coo.shape)
代码
def _convert_sp_mat_to_sp_tensor(self, X):
# scipy稠密矩阵转换为scipy的稀疏矩阵方法为scipy.sparse,scipy的稀疏矩阵转为稠密矩阵的方法,直接.todense()
# pytorch的稀疏矩阵转为稠密矩阵.to_dense(),稠密矩阵转稀疏矩阵torch.sparse.FloatTensor(i, v, coo.shape)
coo = X.tocoo()
i = torch.LongTensor([coo.row, coo.col])
v = torch.from_numpy(coo.data).float()
return torch.sparse.FloatTensor(i, v, coo.shape)