PyTorch官方教程及核心安装/配置指南(Ubuntu环境)
PyTorch官方并未针对Ubuntu发布单独的“官方教程”,但提供了通用的安装说明、环境配置步骤及基础编程示例,适用于Ubuntu等Linux系统。以下是官方推荐的关键内容及常见操作流程:
在Ubuntu上使用PyTorch前,需确保系统满足基础要求:
python3命令);pip(Python包管理工具,可通过sudo apt install python3-pip获取);venv模块:python3 -m venv pytorch_env && source pytorch_env/bin/activate)。PyTorch提供pip和conda两种主流安装方式,需根据硬件配置(CPU/GPU)选择对应命令:
pip3 install torch torchvision torchaudiopip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117安装完成后,通过Python交互环境验证PyTorch是否正常工作:
import torch
print(torch.__version__) # 输出PyTorch版本号(如2.0.1)
print(torch.cuda.is_available()) # 若为True,说明GPU加速可用
若torch.cuda.is_available()返回True,则表示GPU配置成功。
安装完成后,可通过以下简单示例熟悉PyTorch的核心功能:
import torch
# 创建随机张量
x = torch.rand(5, 3) # 5行3列的随机张量(范围[0,1])
y = torch.rand(5, 3)
# 矩阵乘法
z = torch.matmul(x, y)
print(z)
import torch
import torch.nn as nn
import torch.optim as optim
# 定义一个简单的全连接神经网络
class SimpleNet(nn.Module):
def __init__(self):
super(SimpleNet, self).__init__()
self.fc = nn.Linear(784, 10) # 输入维度784(如MNIST图像展平),输出维度10(类别数)
def forward(self, x):
x = x.view(-1, 784) # 将输入展平为向量
return self.fc(x)
# 实例化模型、定义损失函数与优化器
model = SimpleNet()
criterion = nn.CrossEntropyLoss() # 交叉熵损失(适用于分类任务)
optimizer = optim.SGD(model.parameters(), lr=0.01) # 随机梯度下降优化器
# 模拟输入数据与标签
inputs = torch.randn(64, 1, 28, 28) # 64张28x28的灰度图像(模拟MNIST数据集)
targets = torch.randint(0, 10, (64,)) # 64个随机标签(0-9)
# 前向传播、计算损失、反向传播与优化
outputs = model(inputs)
loss = criterion(outputs, targets)
optimizer.zero_grad() # 清空梯度
loss.backward() # 反向传播计算梯度
optimizer.step() # 更新模型参数
print(f'Loss: {loss.item():.4f}') # 输出损失值
若需更深入的学习,可参考PyTorch官方提供的以下资源:
以上内容整合了PyTorch官方的安装说明、基础示例及资源链接,适用于Ubuntu环境下的PyTorch入门与开发。