1、验证码数据集
验证码captcha 是是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水等。
本章主要以MNIST数据集为例介绍数字型验证码,MNIST是一个入门级的计算机视觉数据库,它包含各种手写数字图片。总共分十类,0~9十个数字。数据集包括60000张图片训练数据集和10000张图片测试数据集。每一个MNIST数据单元由两部分组成:一张包含手写数字的图片和一个对应的标签。每张图片包含2828个像素点,可以把这个数组展开成一个二维向量,长度是2828=784.
2.特征提取
1.一维向量方法
这也是MNIST默认的特征提供方法,将28*28的图片转换成长度为784的一维向量。
import tflearn.datasets.mnist as mnist
X, Y, testX, testY = mnist.load_data(one_hot=True)
2.二维向量方法
为了适应特定模型,需要将原本的一维向量转换回原来的28*28的二维向量,具体方法使用数组的reshape 函数可以完成。
X = X.reshape([-1, 28, 28, 1])
testX = testX.reshape([-1, 28, 28, 1])