邻接矩阵转稀疏矩阵
2023-02-18 16:32:57 时间
Example:
import scipy.sparse as sp
import numpy as np
import torch
adj_matrix = torch.randint(0,2,(4,4))
print(adj_matrix)
tensor([[1, 1, 0, 0],
[0, 1, 0, 1],
[0, 0, 1, 1],
[1, 0, 0, 0]])
# adj_matrix 是邻接矩阵
tmp_coo = sp.coo_matrix(adj_matrix)
values = tmp_coo.data
indices = np.vstack((tmp_coo.row,tmp_coo.col))
i = torch.LongTensor(indices)
v = torch.LongTensor(values)
edge_index=torch.sparse_coo_tensor(i,v,tmp_coo.shape)
print(edge_index)
tensor(indices=tensor([[0, 0, 1, 1, 2, 2, 3],
[0, 1, 1, 3, 2, 3, 0]]),
values=tensor([1, 1, 1, 1, 1, 1, 1]),
size=(4, 4), nnz=7, layout=torch.sparse_coo)
torch 矩阵转numpy 矩阵
A = torch.load('adj1.pt')
A = A.numpy()
numpy 矩阵转 scipy 稀疏矩阵
A = sp.coo_matrix(A)
scipy 稀疏矩阵转numpy 矩阵
A.toarray()
将 Scipy Sparse 矩阵转换成 torch sparse 矩阵
def sparse_mx_to_torch_sparse_tensor(sparse_mx):
"""Convert a scipy sparse matrix to a torch sparse tensor."""
sparse_mx = sparse_mx.tocoo().astype(np.float32)
indices = torch.from_numpy(
np.vstack((sparse_mx.row, sparse_mx.col)).astype(np.int64))
values = torch.from_numpy(sparse_mx.data)
shape = torch.Size(sparse_mx.shape)
return torch.sparse.FloatTensor(indices, values, shape)
torch sparse矩阵转 torch 稠密矩阵
sparse_adj.to_dense()
相关文章
- springmvc封装list个数限制问题
- Ubuntu 18 使用docker安装rancher/server:stable并运行kubernetes
- Vue生命周期中mounted和created的区别
- spring org.springframework.web.bind.annotation 常用注解
- Logger性能优化
- Kafka监控利器
- 修改jar中的class文件
- 找不到或无法加载主类
- Hbase到Solr数据同步及Solr分离实战
- Hbase-indexer常用命令
- Solr常用操作命令
- Hbase常用操作命令
- Hbase到Solr同步常用操作
- 给VMware的虚拟机设置静态地址
- Jpa中设置OneToMany插入报异常解决办法
- 帮朋友招聘一位技术合伙人(合肥)
- 理解架构师的正确姿势
- 感恩、转变、改变——我的2016
- 意外关机引起 IntelliJ IDEA 报 org.jdom.input.JDOMParseException 异常的,解决办法
- C# 在Repeater 的ItemDataBound 如何转换e.Item.DataItem 的类型