PyTorch 是一个流行的开源机器学习库,由Facebook的人工智能研究团队开发。它支持Python编程语言,提供了自动微分功能,方便深度学习研究者进行模型开发。以下是PyTorch文档的概览。

安装指南

PyTorch提供了简单易用的安装方法。您可以通过以下步骤来安装:

  • 使用pip安装:
    pip install torch torchvision torchaudio
    
  • 使用conda安装:
    conda install pytorch torchvision torchaudio cpuonly -c pytorch
    

快速入门

以下是一个简单的PyTorch示例,展示如何使用PyTorch构建一个简单的神经网络:

import torch
import torch.nn as nn
import torch.optim as optim


class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(1, 6, 3)
        self.conv2 = nn.Conv2d(6, 16, 3)
        self.fc1 = nn.Linear(16 * 6 * 6, 120)
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 10)

    def forward(self, x):
        x = torch.relu(self.conv1(x))
        x = torch.max_pool2d(x, (2, 2))
        x = torch.relu(self.conv2(x))
        x = torch.max_pool2d(x, 2)
        x = x.view(-1, self.num_flat_features(x))
        x = torch.relu(self.fc1(x))
        x = torch.relu(self.fc2(x))
        x = self.fc3(x)
        return x

    def num_flat_features(self, x):
        size = x.size()[1:]  # 除批次大小外的所有维度
        num_features = 1
        for s in size:
            num_features *= s
        return num_features

net = Net()

# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

# 假设我们有一些输入数据
input = torch.randn(1, 1, 32, 32)

# 进行前向传播
output = net(input)

# 计算并打印损失
loss = criterion(output, torch.tensor([1]))
print(loss)

# 进行反向传播
optimizer.zero_grad()
loss.backward()
optimizer.step()

资源

如果您想了解更多关于PyTorch的信息,可以访问以下链接:

希望这份文档对您有所帮助!👍

PyTorch Logo