PyTorch 张量操作全解析:从创建到运算的完整指南

在深度学习中,张量(Tensor)是最基础也是最核心的数据结构,PyTorch 作为主流的深度学习框架,提供了丰富的张量操作 API。本文将从张量的创建、类型转换、基本运算、索引切片、形状调整到拼接等方面,通过具体示例详细讲解 PyTorch 张量的常用操作,适合初学者快速入门。

一、张量的创建

PyTorch 提供了多种创建张量的方法,可根据不同需求选择合适的方式。

1. 基于数据或形状创建

  • torch.tensor(data):根据指定数据创建张量
  • torch.Tensor(shape):根据形状创建张量(默认浮点型)
  • torch.IntTensor(shape)torch.FloatTensor(shape)等:创建指定数据类型的张量
import torch

# 根据数据创建张量
print(torch.tensor([1, 2, 3]))  # 输出:tensor([1, 2, 3])

# 根据形状创建张量(未初始化,值为随机)
print(torch.Tensor(3, 5))  # 输出3行5列的浮点型张量

# 创建指定类型的张量(int型)
print(torch.IntTensor(3, 5))  # 输出3行5列的int型张量

2. 线性与随机张量

  • torch.arange(start, end, step):创建线性序列张量
  • torch.linspace(start, end, steps):创建均分序列张量
  • torch.rand(shape):创建 [0,1) 均匀分布的随机张量
  • torch.randn(shape):创建标准正态分布的随机张量
  • torch.randint(low, high, shape):创建整数随机张量
# 设置随机种子,保证结果可复现
torch.random.manual_seed(100)

# 步长为2的线性序列(0到10,不包含10)
print(torch.arange(0, 10, 2))  # 输出:tensor([0, 2, 4, 6, 8])

# 0到10之间均分5个值
print(torch.linspace(0, 10, 5))  # 输出:tensor([ 0.0000,  2.5000,  5.0000,  7.5000, 10.0000])

# 3行5列的均匀分布随机张量
print(torch.rand(3, 5))

# 3行5列的标准正态分布随机张量
print(torch.randn(3, 5))

# 0-10之间的3行5列整数随机张量
print(torch.r
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是一只羊.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值