第三步 搭建神经网络
我用了三层卷积,两层池化。
别问我为啥这么搭,没错,我就是瞎搭的,完全照搬官网教程,只是改了一下输入输出的接口。
1.首先改写一下之前的gene_code()函数
tensorflow接受ndarray类型数据,我们需要把PIL的Image类型转为numpy的ndarray,似乎没有直接转换的函数,需要自己写。
改写后的函数如下:
def gene_code():
width,height = size #宽和高
image = Image.new('1',(width,height),1) #创建图片
font = ImageFont.truetype(font_path+typet[random.randint(0, typen-1)],70) #验证码的字体
draw = ImageDraw.Draw(image) #创建画笔
source = ['0','1','2','3','4','5','6','7','8','9']
text = random.randint(0, 9) #生成字符串
font_width, font_height = font.getsize(source[text])
draw.text(((width - font_width) /2, (height - font_height)/2-5),source[text],
font= font,fill=0) #填充字符串
rx=random.uniform(-0.2, 0.2)
ry=random.uniform(-0.2, 0.2)
image = image.transform((width+100,height+100), Image.AFFINE, (1,rx,0,ry,1,0),Image.BILINEAR) #创建扭曲
px=random.randint(-20, 20)
py=random.randint(-6, 6)
image = image.crop((65-70*rx+py,40-70*ry+px,115-70*rx+py,140-70*ry+px))
draw = ImageDraw.Draw(image)
gene_line(draw)
gene_line(draw)
m&