dgl.sparse
dgl.sparse 是一个用于稀疏操作的库,这些操作常用于图神经网络模型中。
稀疏矩阵类
- class dgl.sparse.SparseMatrix[source]
可以使用
spmatrix()
构造函数从坐标格式的索引创建SparseMatrix
。>>> indices = torch.tensor([[1, 1, 2], >>> [2, 4, 3]]) >>> A = dglsp.spmatrix(indices) SparseMatrix(indices=tensor([[1, 1, 2], [2, 4, 3]]), values=tensor([1., 1., 1.]), shape=(3, 5), nnz=3)
创建操作
|
从坐标格式的索引创建一个稀疏矩阵。 |
|
使用新值从现有稀疏矩阵创建一个稀疏矩阵。 |
|
从坐标列表 (COO) 创建一个稀疏矩阵,它存储 (行, 列, 值) 元组的列表。 |
|
从压缩稀疏行 (CSR) 格式创建一个稀疏矩阵。 |
|
从压缩稀疏列 (CSC) 格式创建一个稀疏矩阵。 |
|
基于对角线值创建一个稀疏矩阵。 |
|
创建一个对角线上为一、其他地方为零的稀疏矩阵。 |
属性和方法
返回稀疏矩阵的形状。 |
|
返回稀疏矩阵中非零元素的数量。 |
|
返回稀疏矩阵的数据类型。 |
|
返回稀疏矩阵所在的设备。 |
|
返回非零元素的值。 |
|
返回非零元素的行索引。 |
|
返回非零元素的列索引。 |
|
以一个形状为 |
|
返回稀疏矩阵的坐标列表 (COO) 表示。 |
|
返回稀疏矩阵的压缩稀疏行 (CSR) 表示。 |
|
返回稀疏矩阵的压缩稀疏列 (CSC) 表示。 |
|
返回一个合并后的稀疏矩阵。 |
|
如果稀疏矩阵包含重复索引,则返回 |
|
返回该稀疏矩阵的密集矩阵格式副本。 |
|
|
执行矩阵数据类型和/或设备转换。 |
将矩阵移动到 GPU。 |
|
将矩阵移动到 CPU。 |
|
将矩阵值转换为 float32 数据类型。 |
|
将矩阵值转换为 double 数据类型。 |
|
将矩阵值转换为 int32 数据类型。 |
|
将矩阵值转换为 long 数据类型。 |
|
返回该稀疏矩阵的转置。 |
|
|
|
|
|
返回一个新的稀疏矩阵,其非零值为原始值的负值,等同于 |
|
|
计算输入稀疏矩阵沿给定维度 |
|
计算输入稀疏矩阵沿给定维度 |
|
计算输入稀疏矩阵沿给定维度 |
|
计算输入稀疏矩阵沿给定维度 |
|
计算输入稀疏矩阵沿给定维度 |
|
沿维度 :attr: |
操作
逐元素操作
|
|
|
|
|
|
|
|
|
|
矩阵乘法
|
乘以两个密集/稀疏矩阵,等同于 |
|
将稀疏矩阵乘以密集矩阵,等同于 |
|
按批次将稀疏矩阵乘以密集矩阵,等同于 |
|
将稀疏矩阵乘以稀疏矩阵,等同于 |
|
采样-密集-密集矩阵乘法 (SDDMM)。 |
|
按批次的采样-密集-密集矩阵乘法 (SDDMM)。 |
非线性激活函数
|
沿维度 :attr: |
广播操作
|
稀疏矩阵和向量的广播操作。 |
|
稀疏矩阵和向量的广播加法。 |
|
稀疏矩阵和向量的广播减法。 |
|
稀疏矩阵和向量的广播乘法。 |
|
稀疏矩阵和向量的广播除法。 |