pytorch 变对角矩阵_Pytorch-Tensor基本操作

本文详细介绍了PyTorch中Tensor的基本操作,包括创建、随机生成、索引选择、维度变换和矩阵运算等,适用于PyTorch初学者作为参考。
摘要由CSDN通过智能技术生成

(此文为个人学习pytorch时的笔记,便于之后的查询)

Tensor基本操作

创建tensor:

​1.numpy向量转tensor:

a=np.array([2,2,2])

b=torch.from_numpy(a)

​2.列表转tensor:

a=torch.tensor([2,2])

b=torch.FloatTensor([2,2.])#不常用

c=torch.tensor([[1,2],[3,4]])#2*2矩阵

​3.利用大写接受shape创建:

torch.empty(2,3)#生成一个2*3的0矩阵

torch.Tensor(2,3)#生成一个2*3的随机矩阵

torch.IntTensor(2,3)

torch.FloatTensor(2,3).type()

默认下,Tensor为‘torch.FloatTensor’类型,若要改为double类型的,则需要执行

torch.set_default_tensor_type(torch.DoubleTensor)来修改。

​4.随机创建Tensor:

a=torch.rand(3,3)#创建3*3的0到1均匀分布的矩阵

a=torch.randn(3,3)#均值为0方差为1正态分布矩阵

torch.rand_like(a)#等价于下一条

torch.rand(a.shape)

torch.randint(1,10,[3,3])#创建3*3的1到10随机分布的整数矩阵

​5.创建相同数的矩阵:

torch.full([3,3],1)#生成3*3的全为1的矩阵

torch.full([],1)#生成标量1

torch.full([2],1)#生成一个长度为2的值全为1的向量

torch.ones(3,3)

torch.zeros(3,3)

torch.eye(3,4)#生成对角为1矩阵,若不是对角矩阵,则多余出用0填充

torch.eye(3)#3*3对角矩阵

​6.创建规律数列矩阵:

torch.arange(0,10)#生成[0,1,2,3,4,5,6,7,8,9]

torch.arange(0,10,2)#生成增量为2的数列

torch.arange(10)#效果同于(0,10)

torch.linspace(0,10,4)#生成[0.0000,3.3333,6,6667,10,0000]包括10的4等分向量

torch.logspace(0,-1,steps=10,base=10)#生成10个0到-1等分的数,再以其为指数,如第一个数#为1.000,最后一个数为0.100

​7.创建随机打散数组:

torch.randperm(10)#生成0~9这10个数乱序的数组(常用作索引)

tensor的比较:

torch.eq(a,b)#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值