torch.sparse_coo_tensor函数根据索引对生成邻接矩阵

torch.sparse_coo_tensor函数可以用于创建稀疏矩阵。下面是一个简单的示例,展示如何使用torch.sparse_coo_tensor函数创建一个大小为4x4的稀疏矩阵,其中只有(0, 0)和(2, 3)两个位置有值:

import torch

# 创建稀疏矩阵的索引对和值
indices = torch.tensor([[0, 0], [2, 3]])
values = torch.tensor([1, 2])

# 创建稀疏矩阵
sparse_matrix = torch.sparse_coo_tensor(indices.t(), values, (4, 4))

# 将稀疏矩阵转换为密集矩阵
dense_matrix = sparse_matrix.to_dense()

print(dense_matrix)

在上述示例中,我们首先创建一个大小为2x2的索引对张量和一个大小为2的值张量。然后,我们使用torch.sparse_coo_tensor函数将这些张量转换为一个稀疏矩阵。最后,我们使用to_dense方法将稀疏矩阵转换为密集矩阵,以便输出结果。

需要注意的是,torch.sparse_coo_tensor函数需要传入稀疏矩阵的索引对和值。索引对是一个大小为[n, d]的张量,其中n是稀疏矩阵中非零元素的数量,d是稀疏矩阵的维度。值是一个大小为[n]的张量,其中存储了稀疏矩阵中非零元素的值。在示例中,我们使用了t()方法将索引对张量进行了转置,以符合torch.sparse_coo_tensor函数的输入要求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值