【pyTorch基础】(2) 张量的创建方法

本文详细介绍了如何在PyTorch中将numpy数组转换为tensor,包括从numpy到tensor的直接转换,列表到tensor的转换,以及张量的初始化方法,如空张量、随机张量、全零和全一張量的生成。此外,还涵盖了正态分布、等差数列和等比数列的张量创建,以及随机索引的生成。这些基础知识对于理解和使用PyTorch进行深度学习至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终于还是入坑了pyTorch,这个月的目标检测先停更一段时间,先学一段时间的GCN。立个flag,下个月把TensorFlow版的YOLOV5更完。


1. 创建 numpy 类型转为 Tensor 类型

由于numpy数组类型是最常用的,可以先使用numy创建数组,再从数组转为张量,基本数据类型保持不变,例如:np.float64 变成 torch.float64。

从numpy转为tensor类型的方法: torch.from_numpy( numpy数组 )

# 转换后的数据类型是对应的
import numpy as np

#(1)创建一个维度=1,长度=2的向量
data = np.array([2, 3.3])
# array([2. , 3.3])

# 将numpy类型转为tensor类型
data = torch.from_numpy(data)
# tensor([2.0000, 3.3000], dtype=torch.float64)

#(2)创建一个全为1的二阶矩阵
data = np.ones(shape=[2,3])
# array([[1., 1., 1.],
#        [1., 1., 1.]])

# 转变为tensor类型
data = torch.from_numpy(data)
# tensor([[1., 1., 1.],
#         [1., 1., 1.]], dtype=torch.float64)

2. 列表类型转为 tensor 类型

注意,该函数是直接把传入的列表变成张量,输入和输出的数值是不变的,输入参数的不是张量的shape

列表转为tensor类型: torch.tensor( 列表 )

# 将传入的列表变成tensor类型
data = torch.tensor([2.2, 3.3])
# tensor([2.2000, 3.3000])

data = torch.tensor([[2.2, 3.3], [4.4, 5.5]])
# tensor([[2.2000, 3.3000],
#         [4.4000, 5.5000]])

3. 生成未初始化的 tensor

注意,该方法生成的数据非常不规则,使用时一定要把后续的数据写进来,如果直接使用,可能会报错nan

生成指定形状的张量,张量内的元素随机: torch.empty( 张量shape )

生成指定形状指定数据类型的张量,张量内的元素随机:

float类型: torch.FloatTensor( 张量shape )

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立Sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值