PyTorch 组成模块概述
PyTorch 是一个基于 Python 的科学计算库,专为深度学习设计。其核心模块包括张量操作、自动微分、神经网络构建以及优化器等。了解这些模块的组成和功能,有助于高效利用 PyTorch 进行模型开发和训练。
张量操作模块
张量(Tensor)是 PyTorch 的核心数据结构,类似于 NumPy 的数组,但支持 GPU 加速。张量模块提供了丰富的操作函数,包括创建、索引、数学运算和形状变换等。
import torch
# 创建张量
x = torch.tensor([[1, 2], [3, 4]])
y = torch.rand(2, 2) # 随机张量
# 张量运算
z = x + y # 逐元素加法
m = torch.matmul(x, y) # 矩阵乘法
# 形状变换
x_reshaped = x.view(4) # 展平为一维张量
张量操作支持广播机制,能够自动处理不同形状的张量运算。此外,张量可以轻松迁移到 GPU 上进行加速计算。
if torch.cuda.is_available():
x_gpu = x.cuda() # 将张量移动到 GPU
自动微分模块
PyTorch 的自动微分(Autograd)模块是其核心特性之一。通过跟踪张量的操作历史,自动计算梯度。只需在张量上设置 requires_grad=True,即可启用梯度跟踪。
# 启用梯度跟踪
x = torch.tensor(2.0, requires_grad=True)
y = x ** 2 + 3 * x + 1 # 定义计算图
# 计算梯度
y.backward()
print(x.g

987

被折叠的 条评论
为什么被折叠?



