news 2026/5/26 6:18:58

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 5:04:11

【PyTorch 入门】手把手教你搞懂自动微分:从单轮更新到多轮训练

今天咱们来聊聊深度学习里的 “核心引擎”—— 自动微分。刚学 PyTorch 的时候,我总在想:模型是怎么自己调整权重的?梯度又是怎么算出来的?其实这背后的关键就是自动微分。 这篇文章会从最基础的单轮更新讲起,一步步带你理解多轮训练中的梯度处理,最后结合实际案例看看怎…

作者头像 李华
网站建设 2026/5/25 17:51:00

LobeChat黑色星期五促销创意

LobeChat黑色星期五促销创意 在“黑色星期五”这样的购物狂欢节,用户涌入电商平台,问题如潮水般涌来:折扣怎么叠加?库存还有吗?优惠券何时失效?以往,企业只能靠临时增派客服、设置FAQ页面来勉强…

作者头像 李华
网站建设 2026/5/26 0:04:11

EmotiVoice能否用于语音翻译配套系统?跨语言情感保留

EmotiVoice能否用于语音翻译配套系统?跨语言情感保留 在一次跨国视频会议中,一位日本工程师用充满激情的语调陈述项目进展,但当他的话语被实时翻译成英语后,输出的却是一段毫无波澜的机械女声——原本高涨的情绪瞬间蒸发。这样的场…

作者头像 李华
网站建设 2026/5/25 16:43:29

量化计算中如何理解化学反应的关键瞬间?—过渡态理论的起源与意义

我们在化学反应式中看到的变化,往往只是从反应物到产物的一条简洁箭头。但在这条箭头的背后,分子内部究竟经历了怎样的结构重组和能量转化?为什么有些反应能在常温下迅速完成,而有些却需要高温高压?为什么催化剂能显著…

作者头像 李华
网站建设 2026/5/24 11:18:03

Redis-8.4.0-完整教程

Redis 8.4.0 完整教程 1. Redis简介与安装 1.1 Redis是什么 Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,可用作数据库、缓存和消息中间件。 Redis支持多种数据结构,如字符串、哈希、列表、集合、有序集合等…

作者头像 李华