【PyTorch】6.Learn about the optimization loop 了解优化循环

Learn about the optimization loop 了解优化循环

Optimizing Model Parameters 优化模型参数

现在我们有了模型和数据,是时候通过优化数据上的参数来训练、验证和测试我们的模型了。训练模型是一个迭代过程;在每次迭代中,模型都会对输出进行猜测,计算其猜测中的误差(损失),收集相对于其参数的导数的误差(如我们在上一节中看到的),并使用梯度下降优化这些参数。有关此过程的更详细演练,请观看3Blue1Brown 的反向传播有关视频。

Prerequisite Code 前置代码

我们加载前面有关数据集和数据加载器 以及构建模型的代码。

%matplotlib inline
import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets
from torchvision.transforms import ToTensor, Lambda

training_data = datasets.FashionMNIST(
    root = "data",
    train = True,
    download = True,
    transform = ToTensor()
)

test_data = datasets.FashionMNIST(
    root = "data",
    train = False,
    download = True,
    transform = ToTensor()
)

train_dataloader = DataLoader(training_data, batch_size = 64)
test_dataloader = DataLoader(test_data, batch_size = 64)

class NeuralNetwork(nn.Module):
    def __init__(self):
        super().__init__()
        self.flatten = nn.Flatten()
        self.linear_relu_stack = nn.Sequential(
            nn.Linear(28*28,