Pytorch+CNN 识别自己手写的数字
看了网上很多的手写数字识别的例子,发现都没有一个可以识别自己手写的例子,正好现在需要写一个例子,于是自己研究了一下,写出了 一个能识别自己手写的例子供大家参考。转载请注明出处。如果想看原理的话,可以从网上查,有很多讲解手写数字识别原理的博客都很不错。
训练和测试数据集使用MNIST,在代码中可以下载。事先在电脑自带的画图软件上画出几个数字,尽量写的小一点,使用黑底白笔。如下图所示的手写例子。
这个例子有两步,第一步是训练模型保存参数。第二步是加载参数,选择要识别的自己手写的数字进行识别。直接上代码。
第一步:训练模型,保存参数
import torch
from torch import nn,optim
import torch.nn.functional as F
from torch.autograd import Variable
from torch.utils.data import DataLoader
from torchvision import transforms
from torchvision import datasets
import os
batch_size = 200 # 分批训练数据、每批数据量
learning_rate = 1e-2 # 学习率
num_epoches = 20 # 训练次数
DOWNLOAD_MNIST = True # 是否网上下载数据
# Mnist digits dataset
if not(os.path.exists('./mnist/')) or not os.listdir('./mnist/'):
# not mnist dir or mnist is empyt dir