torch_geometric.transforms.ToSparseTensor
- class ToSparseTensor(attr: Optional[str] = 'edge_weight', remove_edge_index: bool = True, fill_cache: bool = True, layout: Optional[int] = None)[source]
Bases:
BaseTransform将同质或异质数据对象的
edge_index属性转换为转置的torch_sparse.SparseTensor或PyTorch的torch.sparse.Tensor对象,键为adj_t(功能名称:to_sparse_tensor)。注意
在组合多个变换时,最好尽可能晚地通过
ToSparseTensor转换data对象,因为目前存在一些只能操作data.edge_index的变换。- Parameters:
attr (str, 可选) – 要作为值添加到
SparseTensor或torch.sparse.Tensor对象的属性名称(如果存在)。 (默认:edge_weight)remove_edge_index (bool, 可选) – 如果设置为
False,则edge_index张量将不会被移除。 (默认:True)fill_cache (bool, 可选) – 如果设置为
True,将会填充底层的torch_sparse.SparseTensor缓存(如果使用)。 (默认:True)layout (torch.layout, optional) – 指定返回的稀疏张量的布局 (
None,torch.sparse_coo或torch.sparse_csr). 如果设置为None并且安装了torch_sparse依赖项, 将会把edge_index转换为torch_sparse.SparseTensor对象。 如果设置为None并且没有安装torch_sparse依赖项, 将会把edge_index转换为torch.sparse.Tensor对象,布局为torch.sparse_csr. (默认:None)