稀疏矩阵的理解

稀疏矩阵的本质在于保存非0元素的索引与值,索引包括行索引与列索引;

最简单的模式如下:告知每个元素的行列索引;

第二种方法:告知每个元素的列索引与每行的元素个数;如图所示:每列索引进行切割;如果有三行,就切两刀;

 

indptr中元素个数减1就代表行数;后面减去前面的元素就是每行的个数;第一行个数:2-0=2;3-2=1;6-3=3;分别表示,第一行有2个元素;第二行有1个元素;第三行有三个元素;然后再结合列索引就可以知道所有的非0值的位置; 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PyTorch中,稀疏矩阵是一种特殊的数据结构,用于存储大量零元素的矩阵。PyTorch提供了`torch.sparse`模块来支持稀疏矩阵的创建和操作。 可以通过以下方式创建稀疏矩阵: 1. 使用`torch.sparse.FloatTensor`构造函数创建一个稀疏张量: ```python import torch # 创建稀疏矩阵 indices = torch.LongTensor([[0, 1], [2, 0]]) values = torch.FloatTensor([1, 2]) size = torch.Size([3, 2]) sparse_matrix = torch.sparse.FloatTensor(indices, values, size) ``` 在上述代码中,我们创建了一个3x2的稀疏矩阵,其中包含两个非零元素。 2. 可以使用`to_sparse()`方法将稠密矩阵转换为稀疏矩阵: ```python import torch # 创建稠密矩阵 dense_matrix = torch.FloatTensor([[1, 0], [0, 2], [3, 0]]) # 转换为稀疏矩阵 sparse_matrix = dense_matrix.to_sparse() ``` 在上述代码中,我们将一个稠密矩阵转换为稀疏矩阵。 对于稀疏矩阵,可以使用以下方法进行操作: 1. 使用`_indices()`方法获取稀疏矩阵的非零元素的索引: ```python indices = sparse_matrix._indices() ``` 2. 使用`_values()`方法获取稀疏矩阵的非零元素的值: ```python values = sparse_matrix._values() ``` 3. 使用`_nnz()`方法获取稀疏矩阵的非零元素的数量: ```python nnz = sparse_matrix._nnz() ``` 这些方法可用于访问稀疏矩阵的相关信息和数据。 希望以上信息能对你理解PyTorch中的稀疏矩阵有所帮助。如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值