pytorch学习笔记(四)——创建tensor

本文详细介绍了如何在PyTorch中创建和初始化张量,包括从numpy导入、从list导入、创建未初始化的张量以及随机初始化的方法。讲解了各种函数的使用,如torch.rand、torch.randn、torch.zeros等,并提到了未初始化张量可能出现的特殊数值。此外,还讨论了如何设置默认的张量数据类型。
摘要由CSDN通过智能技术生成

创建tensor

1.从numpy中导入

a = np.array([2,3.3])  #创建一个dim为1长度为2的向量
torch.from_numpy(a)

tensor([2.0000,3.0000],dtype=torch.float64)

a = np.ones([2,3])  #创建一个dim为2的2行3列元素全为1的向量
torch.from_numpy(a)

tensor([[1.,1.,1.],

[1.,1.,1.]],dtype=torch.float64)

2.从list中导入

torch.tensor([2.,3.2])

tensor([2.0000,3.2000])

torch.FloatTensor([2.,3.2])

tensor([2.0000,3.2000])

torch.tensor([2.,3.2],[1.,22.3])

tensor([[2.0000,3.2000],

[1.0000,22.3000]])

torch.tensor()   接收现有的数据data

torch.Tensor(d1,d2,d3,...)   接收数据的维度shape;若要接收数据需放入list[ ]中(少用)

3.创建未初始化tensor

未初始化的数据也是有数据的只是非常不规则,常出现∞、-∞、0,未初始化的tensor一定要跟写入数据的后续步骤

三种创建方法:

Torch.empty()  #[2,3]shape

Torch.FloatTensor(d1, d2, d3)

Torch.IntTensr(d1, d2, d3)

未初始化的tensor会出现的问题(∞、-∞、0),表现为torch.nan或torch.inf

 设置默认tensor数据类型:

torch.set_default_tensor_type(torch.DoubleTensor) #将tensr默认类型设置为double

4.随机初始化

torch.rand(3,3) 接收的是shape,元素随机取自[0,1]

torch.rand_like(a)  产生与a的shape相同的tensor

torch.rand(min,max,shape) 取值[min,max)不包括max 如,torch.randint(1,10,[3,3])

torch.randn(3,3) 正态分布

torch.full([2,3],7)  全部赋值为同一个元素7

torch.arange(0,5,step) 返回([0,1,2,3,4])

torch.linspace(0,10,steps=4) 与numpy不同的是这里包含10,从0到10等分切成steps=4部分

torch.logspace(0,-1,steps=10) 从10的0次方到10的-1次方,等间距为10的次方

torch.zeros(shape)

torch.ones(shape)

torch.eye(shape) 对角线为1其余为0,不是方形填充1的位置为(0,0),(1,1),(2,2)...

torch.randperm(0,10)  随机打散从[0,10)选10个

协同shuffle作用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值