news 2026/4/30 18:56:17

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/4/28 7:17:06

计算机毕业设计springboot大学生校园互助平台 基于 SpringBoot 的高校同学在线互助社区 面向大学生的“一站式”校园帮帮系统

计算机毕业设计springboot大学生校园互助平台63667xq2 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。当“00 后”成为校园主力,丢校园卡、抢不到自习座位、二手书堆…

作者头像 李华
网站建设 2026/4/30 9:42:39

用EmotiVoice制作沉浸式有声小说全流程分享

用EmotiVoice制作沉浸式有声小说全流程分享 在播客订阅量突破50亿、有声读物市场年增速超20%的今天,内容创作者正面临一个尴尬现实:优质配音资源稀缺且昂贵,而传统文本转语音工具生成的音频又缺乏“人味”——机械的语调、单一的情绪、毫无变…

作者头像 李华
网站建设 2026/4/20 9:10:08

Arthas 之 一二三

profiler start --duration $ profiler start --duration 10 Profiling started profiler will silent stop after 10 seconds. profiler output file will be: /root/arthas-output/20251217-105404.html

作者头像 李华
网站建设 2026/4/20 9:07:36

EmotiVoice技术架构剖析:情感编码如何提升语音自然度

EmotiVoice技术架构剖析:情感编码如何提升语音自然度 在虚拟助手年复一年用同一种语气说“我理解您的感受”时,我们是否真的被理解了?当游戏角色在生死关头仍以毫无波澜的声音说出“我要死了”,沉浸感瞬间崩塌。这正是传统文本转语…

作者头像 李华
网站建设 2026/4/30 16:42:47

24、Mac OS X 软件打包与分发指南

Mac OS X 软件打包与分发指南 1. 引言 在 Mac OS X 系统中,有多种方式可以对软件进行打包和分发,不同的方法适用于不同的场景和需求。本文将详细介绍 PackageMaker、GNU tar、创建磁盘映像等常见的软件打包与分发方式。 2. PackageMaker 工具 2.1 基本介绍 PackageMaker…

作者头像 李华