转载请注明作者和出处: http://blog.csdn.net/john_bh/
文章目录
我们在模型训练期间打印一些统计信息,以了解训练是否在进行中。PyTorch 与 TensorBoard 集成,该工具旨在可视化神经网络训练运行的结果。 数据集采用 Fashion-MNIST 数据集。
1. 读取数据并进行适当的转换
从 CIFAR-10 中类似的样板代码开始,具体参考我之前的博客PyTorch学习笔记(四) ---- 图像分类器:
# imports
import matplotlib.pyplot as plt
import numpy as np
import torch
import torchvision
import torchvision.transforms as transforms
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
# transforms
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))])
# datasets
trainset = torchvision.datasets.FashionMNIST('./data',
download=True,
train=True,
transform=transform)
testset = torchvision.datasets.FashionMNIST('./data',
download=True,
train=False,
transform=transform)
# dataloaders
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
shuffle=True, num_workers=2)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
shuffle=False, num_workers=2)
# constant for classes
classes = ('T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle Boot')
# helper function to show an image
# (used in the `plot_classes_preds` function below)
def matplotlib_imshow(img, one_channel=False):
if one_channel:
img = img.mean(dim=0)
img = img / 2 + 0.5 # unnormalize
npimg = img.numpy()
if one_channel:
plt.imshow(npimg, cmap="Greys")
else:
plt.imshow(np.transpose(npimg, (1, 2, 0)))
定义一个类似的模型架构,仅需进行少量修改即可说明以下事实:图像现在是一个通道而不是三个通道,是 28x28 而不是 32x32:
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(1, 6, 5)
self.pool

本文介绍了如何使用PyTorch与TensorBoard进行深度学习模型的训练、监控与评估,包括数据预处理、模型训练过程可视化、评估模型性能等关键步骤。
最低0.47元/天 解锁文章
2416

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



