#代码1部分
epochs = 3
print_every = 40
steps = 0
for e in range(epochs):
running_loss = 0
for images, labels in iter(trainloader):
steps += 1
# Flatten MNIST images into a 784 long vector
print("images.size()[0]=",images.size()[0])
images.resize_(images.size()[0], 784)
optimizer.zero_grad()
# Forward and backward passes
output = model.forward(images)
print("output.size()=",output.size())
loss = criterion(output, labels)
loss.backward()
optimizer.step()
running_loss += loss.item()
if steps % print_every == 0:
print("Epoch: {}/{}... ".format(e+1, epochs),
"Loss: {:.4f}".format(running_loss/print_every))
running_loss = 0
#result
output.size()= torch.Size([64, 10]) images.size()[0]= 64 output.size()= torch.Size([64, 10]) images.size()[0]= 64 output.size()= torch.Size([64, 10]) images.size()[0]= 64 output.size()= torch.Size([64, 10]) images.size()[0]= 64 output.size()= torch.Size([64, 10]) images.size()[0]= 64 output.size()= torch.Size([64, 10]) images.size()[0]= 32 output.size()= torch.Size([32, 10])
本文介绍了一个使用PyTorch训练MNIST数据集的示例代码,演示了如何进行图像数据的预处理、模型的前向和后向传播过程,以及训练损失的打印。在每个epoch中,代码会调整权重并计算损失,每40步输出一次平均损失。

3874

被折叠的 条评论
为什么被折叠?



