PyTorch之张量创建与运算

PyTorch 主要有以下几个基础概念:张量(Tensor)、自动求导(Autograd)、神经网络模块(nn.Module)、优化器(optim)等。

  • 张量(Tensor):PyTorch 的核心数据结构,支持多维数组,并可以在 CPU 或 GPU 上进行加速计算。

  • 自动求导(Autograd):PyTorch 提供了自动求导功能,可以轻松计算模型的梯度,便于进行反向传播和优化。

  • 神经网络(nn.Module):PyTorch 提供了简单且强大的 API 来构建神经网络模型,可以方便地进行前向传播和模型定义。

  • 优化器(Optimizers):使用优化器(如 Adam、SGD 等)来更新模型的参数,使得损失最小化。

  • 设备(Device):可以将模型和张量移动到 GPU 上以加速计算。

张量(Tensor)

张量(Tensor)是 PyTorch 中的核心数据结构,用于存储和操作多维数组。张量可以视为一个多维数组,支持加速计算的操作。

  • 维度(Dimensionality):张量的维度指的是数据的多维数组结构。例如,一个标量(0维张量)是一个单独的数字,一个向量(1维张量)是一个一维数组,一个矩阵(2维张量)是一个二维数组,以此类推。

  • 形状(Shape):张量的形状是指每个维度上的大小。例如,一个形状为(3, 4)的张量意味着它有3行4列。

  • 数据类型(Dtype):张量中的数据类型定义了存储每个元素所需的内存大小和解释方式。PyTorch支持多种数据类型,包括整数型(如torch.int8torch.int32)、浮点型(如torch.float32torch.float64)和布尔型(torch.bool)。

张量创建

复制代码
import torch
import numpy as np

# 创建张量2x3的全0张量
a = torch.zeros(2, 3)
print("\n创建张量2x3的全0张量:")
print(a)

# 创建张量2x3的全1张量
b = torch.ones(2, 3)
print("\n创建张量2x3的全1张量:")
print(b)

# 创建张量2x3的随机数张量
c = torch.rand(2, 3)
print("\n创建张量2x3的随机数张量:")
print(c)

# 从Numpy数组创建张量
numpy_array = np.array([[1,2],[3,4]])
tensor_d = torch.from_numpy(numpy_array)
print("\n从Numpy数组创建张量:")
print(tensor_d)


# 在指定device(CPU, GPU)上创建张量
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
e = torch.rand(2, 3).to(device)
print("\n在指定device(CPU, GPU)上创建张量:")
print(e)

创建结果:

张量运算

复制代码
import torch
import numpy as np

aa = torch.rand(2, 3)
print(aa)
bb = torch.rand(3, 4)
print(bb)
dd = torch.rand(2, 3)
print(dd)

print("\n aa+dd:") #加减法的时候张量要一样大小
print(aa + dd)

print("\n aa-dd:")
print(aa - dd)

print("\n aa*dd:")
print(aa * dd)

cc = torch.rand(2, 3)
print("\n cc:")
print(cc)
print("\n cc 维度调换:")
print(cc.t()) # 等同于cc.transpose(0, 1)

print("\n cc shape:")
print(cc.shape)

print("\n aa*bb:")
print(aa * bb)

运算结果, 注意两个张量维度要一致

相关推荐
byte轻骑兵4 分钟前
【BlueZ】 log 模块:日志系统的实现与自定义日志输出配置
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
AI码农小姐姐20 分钟前
AI漫剧推文短视频动态镜头实现:FFmpeg zoompan 与 Ken Burns 效果实践
人工智能·音视频·ai工具·ai漫剧
荆棘鸟智能25 分钟前
无人机遥感图像实时拼接算法工程实践:从特征提取到全景融合的完整技术链路
算法·无人机
技灵AI27 分钟前
ChatGPT Images 2.5 深度解读:延迟减半、Sketch 草图与 Flare/Sunburst 双模型 API
人工智能·gpt·aigc·音视频·images2.5
Geek-Chow30 分钟前
12. 完整重演:一句话请求的完整旅程 + 动手练习
人工智能
m0_7345717630 分钟前
深入理解人工智能chatGPT 外部工具与知识增强层 (Tools & RAG Layer)
人工智能·chatgpt
智能运维指南32 分钟前
2026年企业自动化运维平台选型:四类架构的差异与决策逻辑
运维·人工智能·嘉为蓝鲸
user_admin_god33 分钟前
第 01 篇:OpenAI 兼容 API 初探 —— 用 curl 跑通第一次对话
java·人工智能·spring boot·语言模型·devops
梦帮科技34 分钟前
RNS 代币架构:ERC20 五件套扩展与六钱包分配
人工智能·sql·区块链·database·合成复用原则·加密货币
林澈在路上41 分钟前
游戏场景背景音乐定制AI软件哪款好 2026对比推荐
大数据·人工智能·aigc·音视频