import torch
from matplotlib import pyplot as plt
dev_cpu=torch.device("cpu") #指定CPU计算
# 定义一个稀疏的张量,绘制对角线
i=torch.tensor([[0,1,2],[0,1,2]]) #定义一个x,y轴的坐标系
v=torch.tensor([1,2,3]) #定义坐标系上的点值
c=torch.sparse_coo_tensor(i,v,(4,4),dtype=torch.float32,device=dev_cpu) #稀疏张量;去0的张量,假设:一个二维100*100,包含10000个值,9999个值是0,1个值是1,那么极大浪费内存,因为0值是没有计算意义的;因此去0得到的叫稀疏张量;
c1=torch.sparse_coo_tensor(i,v,(4,4),dtype=torch.float32,device=dev_cpu).to_dense() #to_dense() 转为稠密张量,如结果:4*4的矩阵,
print(c)
print(c1)
plt.imshow(c1); #图形看一下是不是对角线
输出结果:
输出图形: