PyTorch入门指南:安装、环境与第一个神经网络

 
更多

PyTorch是一个基于Python的开源机器学习库,它提供了丰富的工具和功能,方便用户进行深度学习和神经网络模型的开发和训练。本教程将指导您安装PyTorch,配置开发环境,并使用PyTorch构建并训练您的第一个神经网络模型。

步骤一:安装PyTorch

安装PyTorch之前,首先需要安装Python。推荐使用Anaconda来管理Python和相关的包。

  1. 在Anaconda官网下载和安装适用于您操作系统的Anaconda发行版。

  2. 打开终端或命令提示符,并创建一个新的Anaconda环境,命名为”pytorch”(或您喜欢的任何名称):
    conda create --name pytorch python=3.8

  3. 激活新创建的环境:

    • 对于Windows用户:conda activate pytorch
    • 对于Mac和Linux用户:source activate pytorch
  4. 使用pip命令安装PyTorch和相关依赖包:
    pip install torch torchvision

现在,您已成功安装了PyTorch及其相关依赖。

步骤二:配置开发环境

为了更方便地使用PyTorch,我们建议使用Jupyter Notebook作为编程环境。Jupyter Notebook提供一个交互式的界面,可以同时运行代码和编写文档。

  1. 在终端或命令提示符中,安装Jupyter Notebook:
    pip install jupyter

  2. 启动Jupyter Notebook:
    jupyter notebook

  3. 在浏览器中打开新的Jupyter Notebook界面。

现在,您已配置好了Jupyter Notebook作为您的开发环境,并准备好编写和运行PyTorch代码。

步骤三:构建第一个神经网络

让我们使用PyTorch构建一个简单的神经网络模型,并使用MNIST手写数字数据集进行训练。

  1. 导入必要的库:

    import torch
    import torch.nn as nn
    import torch.optim as optim
    from torchvision import datasets, transforms
    
  2. 定义神经网络模型:

    class NeuralNetwork(nn.Module):
        def __init__(self):
            super(NeuralNetwork, self).__init__()
            self.fc1 = nn.Linear(784, 128)
            self.fc2 = nn.Linear(128, 10)
    
        def forward(self, x):
            x = x.view(x.size(0), -1)
            x = torch.relu(self.fc1(x))
            x = self.fc2(x)
            return x
    
    model = NeuralNetwork()
    
  3. 加载数据集:

    transform = transforms.Compose([
        transforms.ToTensor(),
        transforms.Normalize((0.1307,), (0.3081,))
    ])
    
    train_dataset = datasets.MNIST('data', train=True, download=True, transform=transform)
    test_dataset = datasets.MNIST('data', train=False, download=True, transform=transform)
    
    train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64, shuffle=True)
    test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=64, shuffle=True)
    
  4. 定义损失函数和优化器:

    criterion = nn.CrossEntropyLoss()
    optimizer = optim.SGD(model.parameters(), lr=0.01)
    
  5. 训练模型:

    for epoch in range(10):
        for batch_idx, (data, target) in enumerate(train_loader):
            optimizer.zero_grad()
            output = model(data)
            loss = criterion(output, target)
            loss.backward()
            optimizer.step()
    
            if batch_idx % 100 == 0:
                print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(
                    epoch, batch_idx * len(data), len(train_loader.dataset),
                    100. * batch_idx / len(train_loader), loss.item()))
    
  6. 测试模型:

    model.eval()
    test_loss = 0
    correct = 0
    
    with torch.no_grad():
        for data, target in test_loader:
            output = model(data)
            test_loss += criterion(output, target).item()
            pred = output.argmax(dim=1, keepdim=True)
            correct += pred.eq(target.view_as(pred)).sum().item()
    
    test_loss /= len(test_loader.dataset)
    accuracy = 100. * correct / len(test_loader.dataset)
    
    print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format(
        test_loss, correct, len(test_loader.dataset), accuracy))
    

恭喜!您已成功构建、训练和测试了您的第一个神经网络模型。

总结

本教程介绍了如何安装PyTorch,配置开发环境,并使用PyTorch构建和训练您的第一个神经网络模型。希望这个入门指南对您开始使用PyTorch和深度学习有所帮助。祝您在深度学习领域取得成功!

打赏

本文固定链接: https://www.cxy163.net/archives/7526 | 绝缘体

该日志由 绝缘体.. 于 2021年06月12日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: PyTorch入门指南:安装、环境与第一个神经网络 | 绝缘体
关键字: , , , ,

PyTorch入门指南:安装、环境与第一个神经网络:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter