在损失中使用稀疏张量值

问题描述 投票:0回答:0

我生成一个稀疏矩阵:

A = torch.sparse_coo_tensor(np.transpose(IJ),V)

其中

IJ
是 ij 索引的
n
-by-
2
列表,
V
是参数的一维向量。

然后我尝试反向传播一个简单的损失:

loss = A[0,0]**2
loss.backward()

这会导致错误

Function SelectBackward0 returned an invalid gradient at index 0 - expected layout Sparse but got Strided

因为这似乎是可以在稀疏张量上定义的最基本的损失,我是否理解 pytorch 不支持稀疏张量的优化?或者我的代码中还有其他地方我应该看吗?

pytorch sparse-matrix
© www.soinside.com 2019 - 2024. All rights reserved.