pytorch 如何查看“torch_sparse import SparseTensor”的源代码或说明?

iyr7buue  于 2023-03-02  发布在  其他
关注(0)|答案(1)|浏览(446)

我正在学习PytorchGeometric的一些源代码。
事实上,我真的在谷歌上找到了from torch_sparse import SparseTensor,以了解如何使用SparseTensor
但是没有什么我可以看到的解释,我看到了很多关于COO,CSR之类的文件,但是我怎么用稀疏Tensor呢?
我读到:https://pytorch.org/docs/stable/sparse.html#,但没有什么比稀疏Tensor。

csbfibhn

csbfibhn1#

我也遇到过同样的问题,偶然发现了你的问题,所以我在这里详细说明一下我所做的,也许会对一些人有所帮助。我认为主要的混淆来自于包的命名。SparseTensor来自torch_sparse,但是你发布了torch.sparse的文档。第一个是pytorch生态系统中的一个单独的项目,也是PyTorch Geometric基础的一部分。但后者是PyTorch的一个子模块。
所以,看看正确的包(torch_sparse),那里没有太多关于如何使用SparseTensor类的信息(Link),如果我们看另一方面的源代码(Link),你可以看到这个类有一堆classmethod,你可以用它们从文档很好的pytorch类生成你自己的SparseTensor
在我的例子中,我所需要的只是一种方法来为RGCNConv层提供一个包含边和边类型的Tensor,所以我用下面的行将它们放在一起:

edge_index = SparseTensor.from_edge_index(edge_index, edge_types)

但是,如果您已经有了COO或CSRTensor,则可以使用适当的类方法。

相关问题