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.SparseTensortorch.sparse.Tensor对象,键为adj_t(功能名称:to_sparse_tensor)。

注意

在组合多个变换时,最好尽可能晚地通过ToSparseTensor转换data对象,因为目前存在一些只能操作data.edge_index的变换。

Parameters:
  • attr (str, 可选) – 要作为值添加到 SparseTensortorch.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_cootorch.sparse_csr). 如果设置为 None 并且安装了 torch_sparse 依赖项, 将会把 edge_index 转换为 torch_sparse.SparseTensor 对象。 如果设置为 None 并且没有安装 torch_sparse 依赖项, 将会把 edge_index 转换为 torch.sparse.Tensor 对象,布局为 torch.sparse_csr. (默认: None)