Pytorch数据操作

数据操作

python 复制代码
# 导入PyTorch
import torch

**张量表示一个由数值组成的数组,这个数组可能有多个维度** 。 具有一个轴的张量对应数学上的向量

); 具有两个轴的张量对应数学上的矩阵(matrix); 具有两个轴以上的张量没有特殊的数学名称。

首先,我们可以使用 arange 创建一个行向量 x。这个行向量包含以0开始的前12个整数,它们默认创建为整数。也可指定创建类型为浮点数。张量中的每个值都称为张量的 元素 (element)。例如,张量 x 中有 12 个元素。除非额外指定,新的张量将存储在内存中,并采用基于CPU的计算。

python 复制代码
x = torch.arange(15)
x 
#:tensor([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 13, 14])

**可以通过张量的`shape`属性来访问张量(沿每个轴的长度)的\*形状\*** (和张量中元素的总数)。

python 复制代码
x.shape
#:torch.Size([15])

如果只想知道张量中元素的总数,即形状的所有元素乘积,可以检查它的大小(size)。 因为这里在处理的是一个向量,所以它的shape与它的size相同。

python 复制代码
x.numel()
#:15

**要想改变一个张量的形状而不改变元素数量和元素值,可以调用`reshape`函数。** 例如,可以把张量x从形状为(12,)的行向量转换为形状为(3,4)的矩阵。 这个新的张量包含与转换前相同的值,但是它被看成一个3行4列的矩阵。 要重点说明一下,虽然张量的形状发生了改变,但其元素值并没有变。 注意,通过改变张量的形状,张量的大小不会改变。

python 复制代码
X = x.reshape(3,5)
X

#:

tensor(\[ 0, 1, 2, 3, 4,

5, 6, 7, 8, 9,

10, 11, 12, 13, 14])

我们不需要通过手动指定每个维度来改变形状。 也就是说,如果我们的目标形状是(高度,宽度), 那么在知道宽度后,高度会被自动计算得出,不必我们自己做除法。 在上面的例子中,为了获得一个3行的矩阵,我们手动指定了它有3行和4列。 幸运的是,我们可以通过-1来调用此自动计算出维度的功能。 即我们可以用x.reshape(-1,4)x.reshape(3,-1)来取代x.reshape(3,4)

有时,我们希望**使用全0、全1、其他常量,或者从特定分布中随机采样的数字**来初始化矩阵。 我们可以创建一个形状为(2,3,4)的张量,其中所有元素都设置为0。代码如下:

python 复制代码
torch.zeros((2,3,4))

#:

tensor(\[\[0., 0., 0., 0.,

0., 0., 0., 0.,

0., 0., 0., 0.],

\[0., 0., 0., 0.,

0., 0., 0., 0.,

0., 0., 0., 0.]])

同样,我们可以创建一个形状为(2,3,4)的张量,其中所有元素都设置为1。代码如下:

python 复制代码
torch.ones((2,3,4))

#:

tensor(\[\[1., 1., 1., 1.,

1., 1., 1., 1.,

1., 1., 1., 1.],

\[1., 1., 1., 1.,

1., 1., 1., 1.,

1., 1., 1., 1.]])

相关推荐
watersink7 分钟前
MCP 协议与 Skill 开发架构培训文档
人工智能·架构
做萤石二次开发的哈哈8 分钟前
AI 陪护机器人硬件如何接入萤石ERTC 实现实时通话?
人工智能·音视频·实时音视频·萤石开放平台
Luhui Dev13 分钟前
Anthropic 的 Claude Code 翻车经验
人工智能·luhuidev
小白学大数据14 分钟前
线上故障急救:依托 OpenClaw 日志排查 403 和 503 问题
爬虫·python·selenium·数据分析
DataX_ruby8216 分钟前
2026年数据中台厂商市场份额分析
大数据·人工智能·数据治理·数据中台
Luchang-Li17 分钟前
GPU传输带宽等信息监控nvidia-smi
人工智能·gpu·监控·性能·带宽
冬奇Lab20 分钟前
Skill 平台的五个深坑:企业 AI 能力体系的质量治理
人工智能·agent
码农小白AI20 分钟前
生鲜农产品来料验收提质,IACheck AI 报告文档审核比对农残兽残合格证书
人工智能
禹亮科技22 分钟前
上海临港100㎡大型跨国会议室音视频集成方案(思科Webex+思必驰AI音频)
人工智能·音视频·思必驰吸顶麦·禹亮科技
海兰25 分钟前
【web应用】Excel 项目数据自动化分析系统(AI 驱动分析)详细设计与部署指南(附源代码)
前端·人工智能·自动化·excel