前言
前三节我们掌握了模型和数据,这节我们将通过优化数据参数来训练,验证和测试模型。训练模型是一个迭代过程;每次迭代(称为epoch),模型对输出进行预测,计算其预测误差(loss),收集误差相对于其参数的导数,使用梯度下降优化参数
Prerequisite Code
首先从前两节中Datasets & DataLoaders和Build Model部分加载代码
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(NeuralNetwork, self).__init__()
self.flatten = nn.Flatten()
self.linear_relu_stack = nn.Sequential(
nn.Linear(28*28