PyTorch 是一个流行的深度学习框架,用于构建和训练神经网络。本教程将介绍 PyTorch 的基础概念,帮助您快速入门。

安装 PyTorch

在开始之前,您需要安装 PyTorch。您可以从 PyTorch 官网 下载适合您操作系统的安装包。

基础概念

张量(Tensor)

在 PyTorch 中,所有数据都是以张量的形式存储的。张量类似于 NumPy 的数组,但具有动态尺寸和自动求导功能。

import torch

# 创建一个 2x3 的张量
tensor = torch.tensor([[1, 2, 3], [4, 5, 6]])
print(tensor)

自动求导

PyTorch 的自动求导功能使得神经网络的训练变得简单。您只需要定义前向传播和反向传播的函数,PyTorch 会自动计算梯度。

# 定义前向传播
def forward(x):
    return x * 2

# 定义反向传播
def backward(x):
    return x / 2

# 创建一个张量
x = torch.tensor(10.0)

# 计算前向传播
output = forward(x)

# 计算反向传播
grad = backward(output)

print(grad)

神经网络

神经网络由多个层组成,包括输入层、隐藏层和输出层。在 PyTorch 中,您可以使用 nn.Module 创建自定义的神经网络。

import torch.nn as nn

# 定义一个简单的神经网络
class SimpleNet(nn.Module):
    def __init__(self):
        super(SimpleNet, self).__init__()
        self.fc1 = nn.Linear(2, 3)
        self.fc2 = nn.Linear(3, 1)

    def forward(self, x):
        x = self.fc1(x)
        x = torch.relu(x)
        x = self.fc2(x)
        return x

# 创建网络实例
net = SimpleNet()

# 创建一个输入张量
input_tensor = torch.tensor([[1, 2], [3, 4]])

# 计算输出
output = net(input_tensor)
print(output)

扩展阅读

如果您想进一步学习 PyTorch,可以阅读以下教程:

希望这个教程能帮助您快速入门 PyTorch!🎉