理论部分

神经模型 激活函数 线性代数 神经模型等式 监督学习 神经元层 前馈神经网络 向量化激活 输入向量的向量化 线性和非线性激活 输出层 向量化标签和输出 代价函数 梯度下降 消失和爆炸梯度 反向传播方程的向量化

SVHN数据集

街景门牌号码(SVHN)是用于开发机器学习和对象识别算法的真实图像数据集。 它是最常用的基准数据集之一,因为它需要最少的数据预处理和格式化。 尽管它与MNIST有一些相似之处,其中图像的裁剪数字很小,但SVHN合并了更多数量级的标记数据(超过600,000位数的图像)。 它也体现了现实世界中要识别自然场景图像中数字和数字的难题,图像没有任何对比度归一化,包含重叠的数字和分散注意力的特征,这使得与MNIST相比,这是一个更加困难的问题。

PyTorch构建和训练

通过导入所需的库来启动笔记本。

import torch
import torchvision
import numpy as np
import matplotlib.pyplot as plt
import torch.nn as nn
import torch.nn.functional as F
from torchvision.datasets import SVHN
from torchvision.transforms import ToTensor
from torchvision.utils import make_grid
from torch.utils.data.dataloader import DataLoader
from torch.utils.data import random_split
%matplotlib inline

现在,我们从torchvision.datasets使用SVHN类下载数据并创建PyTorch数据集,然后使用ToTensor()将数据集转换为tensor。

dataset = SVHN(root='data/', download=True, transform=ToTensor())

接下来,我们将使用random_split helper函数为数据集中的验证集预留12000张图像。

val_size = 12000
train_size = len(dataset) - val_size

train_ds, val_ds = random_split(dataset, [train_size, val_size])
len(train_ds), len(val_ds)

输出:

(61257, 12000)

现在,我们可以创建PyTorch数据加载器以用于批处理大小为64的训练和验证集。

本文源代码

详情参阅 - 亚图跨际

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐