{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0123456789+?-×=\n" ] } ], "source": [ "from captcha.image import ImageCaptcha\n", "from PIL import Image, ImageFont, ImageDraw\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import random\n", "import uuid\n", "import math\n", "import glob\n", "import string\n", "\n", "%matplotlib inline\n", "%config InlineBackend.figure_format = 'retina'\n", "\n", "characters = '0123456789+?-×=' # 验证码字符集合\n", "print(characters)\n", "width, height, n_len, n_class = 100, 32, 10, len(characters) + 1 #图片宽、高,验证码最大长度,分类类别:字符集+1个空值\n", "\n", "font_paths = glob.glob('latin/*')\n", "# '/usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc', , '/usr/share/fonts/truetype/arphic/ukai.ttc' '/usr/share/fonts/truetype/arphic/uming.ttc', 'latin/arialbi.ttf',\n", "fonts = [ '/usr/share/fonts/opentype/malayalam/Manjari-Regular.otf', '/usr/share/fonts/opentype/malayalam/Manjari-Thin.otf', '/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc', '/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc', '/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc']\n", "fonts2 = ['latin/segoeuil.ttf', 'latin/verdana.ttf', 'latin/calibri.ttf', 'latin/SIMLI.TTF', 'latin/verdanai.ttf', 'latin/framd.ttf', 'latin/ariali.ttf', 'latin/LSANS.TTF']\n", "fonts = fonts+fonts2" ] }, { "cell_type": "code", "execution_count": 173, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0+57=?\n", "image size (100, 32) (100, 32)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 279, "width": 2329 }, "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "random_color(rs, re, gs, ge, bs, be) (13, 17, 14)\n" ] } ], "source": [ "'''生成彩色图像'''\n", "import re\n", "\n", "def get_arith(top=9, i=None, que_mark=True):\n", " '''生成带等号问号+x-三种算法,返回公式及求解答案\n", " que_mark:True公式包含问号,False不包含'''\n", " a = random.randint(0,top)\n", " sign = random.choice(['+','*','-']) \n", "# b = random.randint(0,a) if sign == '-' else random.randint(0,top) \n", " b = random.randint(0,top)\n", " answer = eval('%d%s%d'%(a,sign,b))\n", " \n", " if sign=='*' and random.random()>0.5:\n", " sign = '×'\n", " a = str(a)\n", " b = str(b)\n", " l = [a,b,answer]\n", " if que_mark:\n", " i = random.choice([0,1,2]) if i==None else i\n", " question = l[i]\n", " l[i] = '?'\n", " arith = '%s%s%s=%s'%(l[0],sign,l[1], l[2]) if que_mark else '%s%s%s='%(l[0],sign,l[1])\n", " return arith, question\n", " arith = '%s%s%s='%(l[0],sign,l[1])\n", " return arith, answer\n", " \n", "\n", "\n", "def get_wavy_line(w = (0, 100),h = (30, 50)):\n", " '''产生波浪线坐标'''\n", " import random\n", " n = 50\n", " x = 0\n", " y = random.randint(h[0],h[1])\n", " flag = random.randint(0,2)\n", " xy = [(x, y)]\n", " while x < w[1]:\n", " temp_y = random.randint(1, 3)\n", " temp_x = random.randint(5, 10)\n", " if flag == 0:\n", " if y + temp_y > h[1]:\n", " y -= temp_y\n", " flag = 1\n", " else:\n", " y += temp_y\n", " else:\n", " if y - temp_y < h[0]:\n", " y += temp_y\n", " flag = 0\n", " else:\n", " y -= temp_y\n", " x = x+temp_x if x+temp_x < w[1] else w[1]\n", " xy.append((x, y))\n", " return xy\n", "def Asin(x, A=8,w=0.05, b=6, k=40):\n", " '''\n", " y=Asin(ωx+φ)+k在直角坐标系上的图象\n", " A——振幅,当物体作轨迹符合正弦曲线的直线往复运动时,其值为行程的1/2。\n", " (ωx+φ)——相位,反映变量y所处的状态。\n", " φ——初相,x=0时的相位;反映在坐标系上则为图像的左右移动。\n", " k——偏距,反映在坐标系上则为图像的上移或下移。\n", " ω——角速度, 控制正弦周期(单位弧度内震动的次数)。\n", " '''\n", " return A*math.sin(w*x+b)+k\n", "\n", "def random_xy(width,height): \n", " '''\n", " 随机位置函数,返回指定范围随机位置坐标\n", " 参数:width:图片宽,height:图片高\n", " '''\n", " x = random.randint(0, width)\n", " y = random.randint(0, height)\n", " return x, y\n", "def random_color(color_tuple):\n", " '''\n", " 随机颜色函数,返回指定范围随机颜色值\n", " 参数:start:颜色最低值,end:颜色最高值\n", " '''\n", " if len(color_tuple)==2:\n", " rs, re = color_tuple\n", " gs = bs = rs\n", " ge = be = re\n", " else:\n", " rs, re, gs, ge, bs, be = color_tuple\n", " red = random.randint(rs, re)\n", " green = random.randint(gs, ge)\n", " blue = random.randint(bs, be)\n", " return (red, green, blue)\n", "\n", "def gen_captcha(text, fig_size=(200,70), fonts=['fonts/ANTQUAB.TTF'],font_color=(10,100),same_color=1, font_size=(25, 35), rotate=0,\n", " font_noise=0, offset_w=(0,0), offset_h=0, line=(0,0), shortline=(0,0), line_width=(0,1), line_color=(200,250), point=(0,500), \n", " point_color=(150,250), frame_color=None, wavy=(0,0), bg=(200,255)):\n", " '''\n", " text:验证码文本\n", " size:验证码图片宽高\n", " fonts:字体列表,随机选择一个\n", " font_noise: 字体散点干扰,0不加干扰,1加干扰\n", " offset_hor: 左右偏移值\n", " offset_var: 上下偏移值\n", " fill:字体颜色范围\n", " rotate:字体旋转角度\n", " line:干扰线条数范围\n", " point:干扰点数范围\n", " wavy:波浪线数范围\n", " color:干扰线、点 颜色\n", " bg:背景色范围\n", " '''\n", " bg = random_color(bg)\n", " img = Image.new(mode='RGB', size=fig_size, color=bg) #\n", " draw = ImageDraw.Draw(im=img, mode='RGB') # im, mode=None\n", " \n", " font_path = random.choice(fonts)\n", "# font_path = 'latin/verdana.ttf'\n", "# print('font_path:',font_path)\n", "# font_name = font_path.split('/')[-1][:-4]\n", "# print('font_name:', font_name)\n", " \n", " font = ImageFont.truetype(font_path, size=random.randint(font_size[0], font_size[1])) # font=None, size=10, index=0, encoding=\"\"\n", " rotate = random.randint(0, rotate)\n", " def get_char_img(char,font,font_color,rotate,bg, font_noise=0):\n", " '''\n", " 生成单个字符图片,随机颜色加随机旋转\n", " \n", " '''\n", "# print('get_char_img', char)\n", " w, h = draw.textsize(char, font=font)\n", " im = Image.new('RGBA',(w,h), color=bg)\n", " ImageDraw.Draw(im).text((0,0), char, font=font, fill=font_color) \n", " if rotate and char not in ['+','-','×']:\n", " im = im.rotate(random.randint(-rotate, rotate),Image.BILINEAR,expand=1)\n", " im = im.crop(im.getbbox())\n", " if font_noise: \n", " im_draw = ImageDraw.Draw(im)\n", "# for i in range(random.randint(1,20)):\n", " for i in range(random.randint(int(w*h*0.01),min(int(w*h*0.05), 5))):\n", " im_draw.point(xy=(random.randint(0, w), random.randint(0, h)),fill=bg)\n", "\n", " table = []\n", " for i in range(256):\n", " table.append(i * 97) # 5.97\n", " mask = im.convert('L').point(table) \n", " return (im, mask)\n", " \n", "# char_color = random.randint(font_color[0],font_color[1])\n", " char_color = random_color(font_color)\n", " re_s = re.search('(\\d+|\\?)(\\+|-|\\*|×)(\\d+|\\?)(=)(-?\\d+|\\?)?', text)\n", " if re_s:\n", "# print(re_s.group(0))\n", " char_imgs = []\n", " char_list = []\n", " if same_color: \n", " for i in range(1,6):\n", " if re_s.group(i)!=None:\n", " char_list.append(re_s.group(i))\n", " char_imgs.append(get_char_img(re_s.group(i), font, font_color=char_color, rotate=rotate, bg=bg, font_noise=font_noise))\n", " else:\n", " for i in range(1,6):\n", " if re_s.group(i)!=None:\n", " char_list.append(re_s.group(i))\n", " char_imgs.append(get_char_img(re_s.group(i), font, font_color=random_color(font_color), rotate=rotate, bg=bg, font_noise=font_noise))\n", " else:\n", " if same_color: \n", " char_imgs = [get_char_img(char, font, font_color=char_color, rotate=rotate, bg=bg, font_noise=font_noise) for char in text]\n", " else:\n", " # char_imgs = [get_char_img(char, font, font_color=random.randint(font_color[0],font_color[1]), rotate=rotate, bg=bg, font_noise=font_noise) for char in text]\n", " char_imgs = [get_char_img(char, font, font_color=random_color(font_color), rotate=rotate, bg=bg, font_noise=font_noise) for char in text] \n", " ws = [img[0].size[0] for img in char_imgs]\n", " hs = [img[0].size[1] for img in char_imgs]\n", " w = max(sum(ws), fig_size[0])\n", " h = max(max(hs), fig_size[1])\n", " if w>fig_size[0] or h>fig_size[1]:\n", " img = Image.new('RGB',(w+6,h+6), color=bg)\n", " draw = ImageDraw.Draw(im=img, mode='RGB') # im, mode=None\n", " w, h = img.size\n", " fig_size = img.size\n", " \n", "\n", " # 短线\n", " for i in range(random.randint(shortline[0], shortline[1])):\n", " x0, y0 = random_xy(w, h)\n", " x1 = x0 + random.randint(2, 5)\n", " y1 = y0 + random.randint(2, 5)\n", " draw.line(xy=((x0,y0),(x1,y1)),\n", " fill=random_color(line_color),\n", " width=random.randint(line_width[0], line_width[1])) # xy, fill=None, width=0\n", " \n", " if rotate:\n", " temp_x = random.randint(0, min(50,int((fig_size[0]-sum(ws))/2+1))) #int((fig_size[0]-sum(ws))/5)\n", " temp_y = random.randint(int((fig_size[1]-hs[0])/8), int((fig_size[1]-hs[0])/2+1))\n", "# print('len(char_imgs):',len(char_imgs))\n", " for i in range(len(char_imgs)):\n", " tmp_offset = random.randint(offset_w[0], offset_w[1]) if sum(ws)+(len(ws)-1)*offset_w[1] 0:\n", " temp_x = new_x if new_x+ws[i]=0.5:\n", " A_ = random.uniform(hs[1]*0.1,hs[1]*0.2)\n", " w_ = math.pi*4/w#random.uniform(0.04, 0.06)\n", " b_ = random.random()*math.pi\n", " k_ = random.uniform(h*0.5, h*0.7)\n", " # 波浪线\n", " for _ in range(random.randint(wavy[0],wavy[1])): \n", " draw.line(xy=[(x, Asin(x, A_, w_, b_, k_)) for x in range(int(w))], \n", " fill=char_color, width=random.randint(line_width[0], line_width[1])) \n", " else:\n", " # 波浪线\n", " for _ in range(random.randint(wavy[0],wavy[1])): \n", " draw.line(xy=get_wavy_line(w = (0, w),h = (min(hs)-5, max(hs)+5)), \n", " fill=char_color, width=random.randint(line_width[0], line_width[1])) \n", " \n", " # 边框\n", " if frame_color!=None:\n", " draw.line(xy=[(0,0),(0, h), (0, 0), (w, 0),(w-1,0),(w-1, h), (0,h-1),(w-1, h-1)], fill=random_color(frame_color))\n", " \n", " if not rotate: \n", " temp_x = random.randint(0, min(50, int((fig_size[0]-sum(ws))/2+1))) #int((fig_size[0]-sum(ws))/5)\n", " temp_y = random.randint(int((fig_size[1]-hs[0])/8), int((fig_size[1]-hs[0])/2+1))\n", " for i in range(len(char_imgs)):\n", " tmp_offset = random.randint(offset_w[0], offset_w[1]) if sum(ws)+(len(ws)-1)*offset_w[1] 0:\n", " temp_x = new_x if new_x+ws[i]0.3\n", "re_s = re.search('(\\d+|\\?)(\\+|-|\\*|×)(\\d+|\\?)(=)(\\d+|\\?)?', random_str)\n", "print(random_str)\n", "for i in range(1,6):\n", "# print(i)\n", " if re_s.group(i)!=None:\n", " print(re_s.group(i))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8+7=?\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 140, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 重组验证码\n", "\n", "crops = glob.glob('/data/captcha/arithmetic/crop_70_25/crop_num/*.jpg')\n", "bgs_7025 = glob.glob('/data/captcha/arithmetic/crop_70_25/crop_bg/*.jpg')\n", "def merge_img_7025():\n", "# if random.random()>0.4:\n", "# img = Image.new(mode='RGB', size=((70,25)), color=(255,255,255))\n", "# else:\n", " img = Image.open(random.choice(bgs_7025))\n", " w, h = img.size\n", " draw = ImageDraw.Draw(img) \n", " \n", " w0 = random.randint(0,4)\n", " h0 = random.randint(1,5)\n", " label = []\n", " range_num = random.randint(1,2)\n", " for i in range(range_num):\n", " im_p = random.choice(crops)\n", " lb = im_p.split('/')[-1].split('_')[0]\n", " if lb=='0' and range_num == 2 and i==0:\n", " continue\n", " label.append(lb)\n", " im = Image.open(im_p)\n", " w, h = im.size \n", " img.paste(im, (w0,h0)) # ,w//4*(i+1), h\n", " w0 += w\n", " \n", " fh = glob.glob('/data/captcha/arithmetic/crop_70_25/crop_sign/jiajiancheng/*.jpg')\n", " im_p = random.choice(fh)\n", " lb = im_p.split('/')[-1].split('_')[0]\n", " if lb == 'jia':\n", " lb = '+'\n", " elif lb == 'jian':\n", " lb = '-'\n", " elif lb == 'cheng':\n", " lb = '×'\n", " label.append(lb)\n", " im = Image.open(im_p)\n", " w, h = im.size \n", " img.paste(im, (w0,h0)) # ,w//4*(i+1), h\n", " w0 += w \n", " \n", " range_num = random.randint(1,2)\n", " for i in range(range_num):\n", " im_p = random.choice(crops)\n", " lb = im_p.split('/')[-1].split('_')[0]\n", " if lb=='0' and range_num == 2 and i==0:\n", " continue\n", " label.append(lb)\n", " im = Image.open(im_p)\n", " w, h = im.size \n", " img.paste(im, (w0,h0)) # ,w//4*(i+1), h\n", " w0 += w \n", " \n", " fh = glob.glob('/data/captcha/arithmetic/crop_70_25/crop_sign/denghao/*.jpg')\n", " im_p = random.choice(fh)\n", " lb = im_p.split('/')[-1].split('_')[0]\n", " if lb == 'deng':\n", " lb = '='\n", " label.append(lb)\n", " im = Image.open(im_p)\n", " w, h = im.size \n", " img.paste(im, (w0,h0)) # ,w//4*(i+1), h\n", " w0 += w \n", " \n", " fh = glob.glob('/data/captcha/arithmetic/crop_70_25/crop_sign/wenhao/*.jpg')\n", " im_p = random.choice(fh)\n", " lb = im_p.split('/')[-1].split('_')[0]\n", " if lb == 'wen':\n", " lb = '?'\n", " label.append(lb)\n", " im = Image.open(im_p)\n", " w, h = im.size \n", " img.paste(im, (w0,h0)) # ,w//4*(i+1), h\n", " w0 += w \n", " w, h = img.size \n", " for i in range(0,0):\n", " x0, y0 = random_xy(w, h)\n", " x1 = x0 + random.randint(2, 5)\n", " y1 = y0 + random.randint(2, 5)\n", " draw.line(xy=((x0,y0),(x1,y1)),\n", " fill=random_color((200,250)),\n", " width=1) # xy, fill=None, width=0 \n", " for _ in range(random.randint(0,0)):\n", " draw.point(xy=(random_xy(w, h)),fill=random_color((180,250))) \n", "\n", " return img.resize((width, height), Image.BILINEAR), ''.join(label)\n", "\n", "img, label = merge_img_7025()\n", "print(label)\n", "plt.imshow(img)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [], "source": [ "''' 彩色图像生成 '''\n", "from tensorflow.keras.utils import Sequence\n", "from collections import Counter\n", "lower = 'abcdefghijkmnpqrstuvwxyz'\n", "upper = 'ABCDEFGHJKLMNPQRSTUVWXYZ'\n", "digit = '23456789'\n", "\n", "class CaptchaSequence(Sequence):\n", " '''\n", " 继承Sequence的数据生成类,方便调用多CPU,加快生成训练及测试数据\n", " 参数:self.characters:验证码字符集合,self.batch_size:每批次样本数,self.steps:生成多少批数据,self.n_len:验证码长度,\n", " self.width:图片宽度,self.height:图片高度,self.input_length:lstm time step长度,self.label_length:标签长度\n", " 返回:array类型训练或测试数据 \n", " \n", " '''\n", " def __init__(self, characters, batch_size, steps, n_len=n_len, width=width, height=height, \n", " input_length=12, label_length=6, chars_len=(4, 6)): # width=128, height=64, input_length=16, label_length=4\n", " self.characters = characters\n", " self.batch_size = batch_size\n", " self.steps = steps\n", " self.n_len = n_len\n", " self.width = width\n", " self.height = height\n", " self.input_length = input_length\n", " self.label_length = label_length\n", " self.chars_len = chars_len\n", "# self.label_length = self.n_len\n", " self.n_class = len(characters)+1\n", "# self.n_class = -2\n", "# self.generator = ImageCaptcha(width=width, height=height, font_sizes=(12,20,18,25))\n", "# self.fonts_list = glob.glob('/usr/share/fonts/WindowsFonts/fonts/*.ttf')\n", " \n", " def __len__(self):\n", " return self.steps\n", "\n", " def __getitem__(self, idx):\n", " batch_label_length = random.choice([4,5,4,4])\n", "# imgs = []\n", "# print('batch_label_length',batch_label_length)\n", " X = np.zeros((self.batch_size, self.height, self.width, 3), dtype=np.float32)\n", " y = np.zeros((self.batch_size, self.n_len), dtype=np.uint8)\n", "# print(y)\n", "# y = np.zeros((self.batch_size, batch_label_length), dtype=np.uint8)\n", " input_length = np.ones(self.batch_size)*self.input_length\n", " label_length = np.ones(self.batch_size)*self.n_len \n", "# label_length = np.ones(self.batch_size)*batch_label_length\n", "\n", " for i in range(self.batch_size):\n", "\n", " if i%20 <= 3: # line=(0,0), line_width=(0,1), point=(0,100),wavy=(0,0) \n", " random_str, question = get_arith(top=9, i=1)\n", " image = gen_captcha(random_str, fig_size=(100,26), fonts=fonts,font_color=(20,230,20,230,20,230),same_color=1, font_size=(15, 20), rotate=0,\n", " font_noise=0,offset_w=(-1,3),offset_h=0, line=(0,0), shortline=(10,20), line_width=(0,1), line_color=(100,150), point=(0,0),\n", " point_color=(0,0),frame_color=(120,150),wavy=(0,0), bg=(255,255))\n", "\n", "\n", " elif i%20 <= 6: # line=(0,5), line_width=(0,1), point=(20,300),wavy=(0,0)\n", " random_str, question = get_arith(top=99, i=2)\n", " image = gen_captcha(random_str, fig_size=(70,25), fonts=fonts,font_color=(70,100),same_color=1, font_size=(12, 15), rotate=0,\n", " font_noise=0,offset_w=(-1,0),offset_h=0, line=(0,0), shortline=(150,200), line_width=(0,1), line_color=(180,230), point=(200,300),\n", " point_color=(200,250),frame_color=None,wavy=(0,0), bg=(210,255))\n", "\n", " elif i%20 <= 9: # line=(0,0), line_width=(0,2), point=(0,0),wavy=(1,1)\n", " random_str, question = get_arith(top=9)\n", " image = gen_captcha(random_str, fig_size=(100,26), fonts=fonts,font_color=(20,230,20,230,20,230),same_color=1, font_size=(15, 20), rotate=0,\n", " font_noise=0,offset_w=(-1,3),offset_h=0, line=(0,0), shortline=(0,0), line_width=(0,1), line_color=(100,150), point=(0,0),\n", " point_color=(0,0),frame_color=(120,150),wavy=(0,0), bg=(255,255))\n", "\n", " elif i%20 <= 12: # line=(0,0), line_width=(0,1), point=(0,80),wavy=(0,0)\n", " random_str, question = get_arith(top=99, i=2)\n", " image = gen_captcha(random_str, fig_size=(70,25), fonts=fonts,font_color=(10,230,10,230,10,230),same_color=0, font_size=(12, 15), rotate=0,\n", " font_noise=0,offset_w=(-1,1),offset_h=0, line=(0,0), shortline=(0,0), line_width=(0,1), line_color=(150,200), point=(0,0),\n", " point_color=(0,0),frame_color=None,wavy=(0,0), bg=(150,255))\n", " \n", " elif i%25<=15:\n", " random_str, question = get_arith(top=9, que_mark=False)\n", " image = gen_captcha(random_str, fig_size=(100,40), fonts=fonts,font_color=(0,0),same_color=1, font_size=(20, 25), rotate=0,\n", " font_noise=0,offset_w=(-1,1),offset_h=0, line=(3,3), shortline=(0,0), line_width=(0,1), line_color=(0,0), point=(0,0),\n", " point_color=(200,250),frame_color=None,wavy=(0,0), bg=(250,255))\n", "\n", " elif i%25<=20:\n", " random_str, question = get_arith(top=99, i=2)\n", " image = gen_captcha(random_str, fig_size=(330, 69), fonts=fonts,font_color=(10,250,10,250,10,250),same_color=0, font_size=(35, 40), rotate=30,\n", " font_noise=0,offset_w=(5,5),offset_h=0, line=(3,6), shortline=(0,5), line_width=(1,2), line_color=(150,230), point=(30,130),\n", " point_color=(50,230),frame_color=None,wavy=(0,0), bg=(255,255))\n", "\n", "# elif i%30<=25:\n", "# image, random_str = merge_img_7025()\n", " \n", " elif i%35<=30:\n", " random_str, question = get_arith(top=9)\n", " tmp_w = random.randint(70,100)\n", " tmp_h = random.randint(25, 35)\n", " font_s = (int(tmp_h*0.8), int(tmp_h*0.9))\n", " image = gen_captcha(random_str, fig_size=(tmp_w,tmp_h), fonts=fonts,font_color=(200,250),same_color=0, font_size=font_s, rotate=20,\n", " font_noise=0,offset_w=(-2,1),offset_h=2, line=(0,5), shortline=(0,100), line_width=(0,1), line_color=(10,150), point=(0,200),\n", " point_color=(50,255),frame_color=None,wavy=(0,0), bg=(10,150)) \n", " \n", " else: \n", " random_str, question = get_arith(top=99, i=2)\n", " tmp_w = random.randint(70,100)\n", " tmp_h = random.randint(25, 35)\n", " font_s = (int(tmp_h*0.8), int(tmp_h*0.9))\n", " image = gen_captcha(random_str, fig_size=(tmp_w,tmp_h), fonts=fonts,font_color=(0,180),same_color=0, font_size=font_s, rotate=20,\n", " font_noise=0,offset_w=(-2,1),offset_h=2, line=(0,5), shortline=(0,100), line_width=(0,1), line_color=(10,200), point=(0,200),\n", " point_color=(50,255),frame_color=None,wavy=(0,0), bg=(150,255)) \n", "\n", " X[i] = np.array(image)/255.0\n", " random_str = random_str.replace('*', '×') \n", " label = [self.characters.find(x) for x in random_str] # 全部标签转换为小写\n", " if len(random_str) < self.n_len:\n", " label += [self.n_class]*(self.n_len-len(random_str)) \n", " y[i] = label\n", " \n", "# return imgs# \n", " return [X, y, input_length, label_length], np.ones(self.batch_size)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "import re\n", "a = re.search('(\\d+|\\?)(\\+|-|\\*|×)(\\d+|\\?)(=)(-?\\d+|\\?)?', '2-?=-7')" ] }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('6*23=?', 138)" ] }, "execution_count": 131, "metadata": {}, "output_type": "execute_result" } ], "source": [ "get_arith(top=99, i=2)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "data = CaptchaSequence(characters, batch_size=64, steps=2,input_length=12, label_length=10,chars_len=(5, 5)) # (characters, batch_size=128, steps=100)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 140, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# l, _ = data[1]\n", "# x = l[0]\n", "# print(x.shape)\n", "idx =18\n", "# plt.imshow(np.reshape(x[idx], (height, width)))\n", "\n", "# x = data[1]\n", "# idx = 8\n", "plt.imshow(x[idx])\n", "# len4_imgs[:5]" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "input_2 (InputLayer) (None, 32, 100, 3) 0 \n", "_________________________________________________________________\n", "conv2d_10 (Conv2D) (None, 32, 100, 32) 896 \n", "_________________________________________________________________\n", "batch_normalization_10 (Batc (None, 32, 100, 32) 128 \n", "_________________________________________________________________\n", "leaky_re_lu_10 (LeakyReLU) (None, 32, 100, 32) 0 \n", "_________________________________________________________________\n", "conv2d_11 (Conv2D) (None, 32, 100, 32) 1056 \n", "_________________________________________________________________\n", "batch_normalization_11 (Batc (None, 32, 100, 32) 128 \n", "_________________________________________________________________\n", "leaky_re_lu_11 (LeakyReLU) (None, 32, 100, 32) 0 \n", "_________________________________________________________________\n", "max_pooling2d_5 (MaxPooling2 (None, 16, 50, 32) 0 \n", "_________________________________________________________________\n", "conv2d_12 (Conv2D) (None, 16, 50, 64) 18496 \n", "_________________________________________________________________\n", "batch_normalization_12 (Batc (None, 16, 50, 64) 256 \n", "_________________________________________________________________\n", "leaky_re_lu_12 (LeakyReLU) (None, 16, 50, 64) 0 \n", "_________________________________________________________________\n", "conv2d_13 (Conv2D) (None, 16, 50, 64) 4160 \n", "_________________________________________________________________\n", "batch_normalization_13 (Batc (None, 16, 50, 64) 256 \n", "_________________________________________________________________\n", "leaky_re_lu_13 (LeakyReLU) (None, 16, 50, 64) 0 \n", "_________________________________________________________________\n", "max_pooling2d_6 (MaxPooling2 (None, 8, 25, 64) 0 \n", "_________________________________________________________________\n", "conv2d_14 (Conv2D) (None, 8, 25, 128) 73856 \n", "_________________________________________________________________\n", "batch_normalization_14 (Batc (None, 8, 25, 128) 512 \n", "_________________________________________________________________\n", "leaky_re_lu_14 (LeakyReLU) (None, 8, 25, 128) 0 \n", "_________________________________________________________________\n", "conv2d_15 (Conv2D) (None, 8, 25, 128) 16512 \n", "_________________________________________________________________\n", "batch_normalization_15 (Batc (None, 8, 25, 128) 512 \n", "_________________________________________________________________\n", "leaky_re_lu_15 (LeakyReLU) (None, 8, 25, 128) 0 \n", "_________________________________________________________________\n", "max_pooling2d_7 (MaxPooling2 (None, 4, 12, 128) 0 \n", "_________________________________________________________________\n", "conv2d_16 (Conv2D) (None, 4, 12, 256) 295168 \n", "_________________________________________________________________\n", "batch_normalization_16 (Batc (None, 4, 12, 256) 1024 \n", "_________________________________________________________________\n", "leaky_re_lu_16 (LeakyReLU) (None, 4, 12, 256) 0 \n", "_________________________________________________________________\n", "conv2d_17 (Conv2D) (None, 4, 12, 256) 65792 \n", "_________________________________________________________________\n", "batch_normalization_17 (Batc (None, 4, 12, 256) 1024 \n", "_________________________________________________________________\n", "leaky_re_lu_17 (LeakyReLU) (None, 4, 12, 256) 0 \n", "_________________________________________________________________\n", "max_pooling2d_8 (MaxPooling2 (None, 2, 12, 256) 0 \n", "_________________________________________________________________\n", "conv2d_18 (Conv2D) (None, 2, 12, 256) 590080 \n", "_________________________________________________________________\n", "batch_normalization_18 (Batc (None, 2, 12, 256) 1024 \n", "_________________________________________________________________\n", "leaky_re_lu_18 (LeakyReLU) (None, 2, 12, 256) 0 \n", "_________________________________________________________________\n", "conv2d_19 (Conv2D) (None, 2, 12, 256) 65792 \n", "_________________________________________________________________\n", "batch_normalization_19 (Batc (None, 2, 12, 256) 1024 \n", "_________________________________________________________________\n", "leaky_re_lu_19 (LeakyReLU) (None, 2, 12, 256) 0 \n", "_________________________________________________________________\n", "max_pooling2d_9 (MaxPooling2 (None, 1, 12, 256) 0 \n", "_________________________________________________________________\n", "permute_1 (Permute) (None, 12, 1, 256) 0 \n", "_________________________________________________________________\n", "time_distributed_1 (TimeDist (None, 12, 256) 0 \n", "_________________________________________________________________\n", "bidirectional_2 (Bidirection (None, 12, 256) 295680 \n", "_________________________________________________________________\n", "bidirectional_3 (Bidirection (None, 12, 256) 295680 \n", "_________________________________________________________________\n", "dense_1 (Dense) (None, 12, 16) 4112 \n", "=================================================================\n", "Total params: 1,733,168\n", "Trainable params: 1,730,224\n", "Non-trainable params: 2,944\n", "_________________________________________________________________\n", "None\n" ] } ], "source": [ "# 定义网络\n", "from tensorflow.keras.models import *\n", "from tensorflow.keras.layers import *\n", "\n", "# 定义 CTC Loss\n", "import tensorflow.keras.backend as K\n", "\n", "def ctc_lambda_func(args):\n", " '''\n", " 定义ctc损失函数\n", " 参数:y_pred:预测值,labels:标签,input_length:lstm tiemstep,label_length:标签长度\n", " ''' \n", " y_pred, labels, input_length, label_length = args\n", " return K.ctc_batch_cost(labels, y_pred, input_length, label_length)\n", "\n", "input_tensor = Input((height, width, 3))\n", "x = input_tensor\n", "\n", "for i, n_cnn in enumerate([2, 2, 2, 2, 2]): \n", " for j in range(n_cnn):\n", " kernel_size = 3 if j==0 else 1\n", " x = Conv2D(32*2**min(i, 3), kernel_size=kernel_size, padding='same', kernel_initializer='he_uniform')(x) # 32*2**min(i, 3)\n", " x = BatchNormalization()(x)\n", "# x = Activation('relu')(x) # 20200729 relu 改LeakyReLU\n", " x = LeakyReLU(0.01)(x)\n", " x = MaxPooling2D(2 if i < 3 else (2, 1))(x)\n", "\n", "x = Permute((2, 1, 3))(x)\n", "x = TimeDistributed(Flatten())(x)\n", "rnn_size = 128 # 128 32\n", "\n", "x = Bidirectional(GRU(rnn_size, return_sequences=True))(x)\n", "x = Bidirectional(GRU(rnn_size, return_sequences=True))(x) # 200epoch 0.0153 - val_loss: 0.0136\n", "\n", "x = Dense(n_class, activation='softmax')(x)\n", "base_model = Model(inputs=input_tensor, outputs=x)\n", "print(base_model.summary())\n", "\n", "labels = Input(name='the_labels', shape=[None], dtype='float32')\n", "input_length = Input(name='input_length', shape=[1], dtype='int64')\n", "label_length = Input(name='label_length', shape=[1], dtype='int64')\n", "loss_out = Lambda(ctc_lambda_func, output_shape=(1,), name='ctc')([x, labels, input_length, label_length])\n", "model = Model(inputs=[input_tensor, labels, input_length, label_length], outputs=loss_out)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 62, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/100\n", "1000/1000 [==============================] - 123s 123ms/step - loss: 2.7041 - val_loss: 0.6274\n", "Epoch 2/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.3107 - val_loss: 0.3832\n", "Epoch 3/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.2205 - val_loss: 0.3362\n", "Epoch 4/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1867 - val_loss: 0.4747\n", "Epoch 5/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1663 - val_loss: 0.3691\n", "Epoch 6/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1503 - val_loss: 0.2072\n", "Epoch 7/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1442 - val_loss: 0.3029\n", "Epoch 8/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1372 - val_loss: 0.2047\n", "Epoch 9/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1342 - val_loss: 0.1882\n", "Epoch 10/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1297 - val_loss: 0.1585\n", "Epoch 11/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1254 - val_loss: 0.1584\n", "Epoch 12/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1244 - val_loss: 0.1279\n", "Epoch 13/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1260 - val_loss: 0.1686\n", "Epoch 14/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1232 - val_loss: 0.1395\n", "Epoch 15/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1201 - val_loss: 0.1729\n", "Epoch 16/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1194 - val_loss: 0.1574\n", "Epoch 17/100\n", "1000/1000 [==============================] - 111s 111ms/step - loss: 0.1111 - val_loss: 0.3052\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from tensorflow.keras.callbacks import EarlyStopping, CSVLogger, ModelCheckpoint\n", "from tensorflow.keras.optimizers import *\n", "import gc \n", "\n", "# model.load_weights('gru_DigitAndEnglist_ctc_best.h5') # gru_DigitAndEnglist_ctc_best_0924\n", "# model.load_weights('gru_DigitAndEnglist_ctc_best_0927.h5') #DigitAndEnglist_cnn5gru_ctc_best2.h5 DigitAndEnglist_cnn5gru_ctc_best\n", "# 'mobilenet_DigitAndEnglist_ctc_best_32.h5' 损失下降到0.2左右 准确率97 \n", "# model.load_weights('gru_english4to6_ctc_best_1012.h5')\n", "\n", "train_data = CaptchaSequence(characters, batch_size=128, steps=1000,input_length=12, label_length=6,chars_len=(4, 6)) # (characters, batch_size=128, steps=1000)\n", "valid_data = CaptchaSequence(characters, batch_size=128, steps=100,input_length=12, label_length=6,chars_len=(4, 6)) # (characters, batch_size=128, steps=100)\n", "\n", "callbacks = [EarlyStopping(patience=5),ModelCheckpoint('gru_arithmetic_ctc_best_1116.h5', save_best_only=True)]\n", "model.compile(loss={'ctc': lambda y_true, y_pred: y_pred}, optimizer=Adam(1e-3, amsgrad=True))\n", "model.fit_generator(train_data, epochs=100, validation_data=valid_data, workers=4, use_multiprocessing=True,\n", " callbacks=callbacks)" ] }, { "cell_type": "code", "execution_count": 211, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/100\n", "1000/1000 [==============================] - 118s 118ms/step - loss: 0.0092 - val_loss: 0.0138\n", "Epoch 2/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0090 - val_loss: 0.0082\n", "Epoch 3/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0092 - val_loss: 0.0058\n", "Epoch 4/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0090 - val_loss: 0.0075\n", "Epoch 5/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0084 - val_loss: 0.0103\n", "Epoch 6/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0087 - val_loss: 0.0121\n", "Epoch 7/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0078 - val_loss: 0.0026\n", "Epoch 8/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0088 - val_loss: 0.0108\n", "Epoch 9/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0070 - val_loss: 0.0071\n", "Epoch 10/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0085 - val_loss: 0.0236\n", "Epoch 11/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0085 - val_loss: 0.0128\n", "Epoch 12/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0081 - val_loss: 0.0066\n", "Epoch 13/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0083 - val_loss: 0.0052\n", "Epoch 14/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0091 - val_loss: 0.0031\n", "Epoch 15/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0069 - val_loss: 0.0121\n", "Epoch 16/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0083 - val_loss: 0.0037\n", "Epoch 17/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0075 - val_loss: 0.0089\n", "Epoch 18/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0081 - val_loss: 0.0054\n", "Epoch 19/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0069 - val_loss: 0.0052\n", "Epoch 20/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0079 - val_loss: 0.0088\n", "Epoch 21/100\n", "1000/1000 [==============================] - 104s 104ms/step - loss: 0.0070 - val_loss: 0.0094\n", "Epoch 22/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0076 - val_loss: 0.0165\n", "Epoch 23/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0073 - val_loss: 0.0080\n", "Epoch 24/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0067 - val_loss: 0.0022\n", "Epoch 25/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0058 - val_loss: 0.0170\n", "Epoch 26/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0071 - val_loss: 0.0066\n", "Epoch 27/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0069 - val_loss: 0.0068\n", "Epoch 28/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0072 - val_loss: 0.0133\n", "Epoch 29/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0076 - val_loss: 0.0051\n", "Epoch 30/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0071 - val_loss: 0.0072\n", "Epoch 31/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0068 - val_loss: 0.0071\n", "Epoch 32/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0067 - val_loss: 0.0128\n", "Epoch 33/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0067 - val_loss: 0.0039\n", "Epoch 34/100\n", "1000/1000 [==============================] - 106s 106ms/step - loss: 0.0069 - val_loss: 0.0032\n", "Epoch 35/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0067 - val_loss: 0.0068\n", "Epoch 36/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0082 - val_loss: 0.0100\n", "Epoch 37/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0070 - val_loss: 0.0055\n", "Epoch 38/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0064 - val_loss: 0.0013\n", "Epoch 39/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0067 - val_loss: 0.0053\n", "Epoch 40/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0062 - val_loss: 0.0087\n", "Epoch 41/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0063 - val_loss: 0.0064\n", "Epoch 42/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0061 - val_loss: 7.2743e-04\n", "Epoch 43/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0056 - val_loss: 0.0103\n", "Epoch 44/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0066 - val_loss: 0.0149\n", "Epoch 45/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0067 - val_loss: 0.2186\n", "Epoch 46/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0062 - val_loss: 0.0057\n", "Epoch 47/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0066 - val_loss: 0.0060\n", "Epoch 48/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0061 - val_loss: 0.0067\n", "Epoch 49/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0066 - val_loss: 0.0069\n", "Epoch 50/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0071 - val_loss: 0.0104\n", "Epoch 51/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0055 - val_loss: 0.0015\n", "Epoch 52/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0060 - val_loss: 0.0104\n", "Epoch 53/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0067 - val_loss: 0.0104\n", "Epoch 54/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0063 - val_loss: 8.1172e-04\n", "Epoch 55/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0055 - val_loss: 0.0068\n", "Epoch 56/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0062 - val_loss: 0.0031\n", "Epoch 57/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0058 - val_loss: 0.0046\n", "Epoch 58/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0052 - val_loss: 0.0067\n", "Epoch 59/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0061 - val_loss: 0.0061\n", "Epoch 60/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0064 - val_loss: 0.0038\n", "Epoch 61/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0061 - val_loss: 0.0086\n", "Epoch 62/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0055 - val_loss: 0.0034\n", "Epoch 63/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0053 - val_loss: 0.0064\n", "Epoch 64/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0059 - val_loss: 0.0060\n", "Epoch 65/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0060 - val_loss: 0.0083\n", "Epoch 66/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0061 - val_loss: 0.0121\n", "Epoch 67/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0057 - val_loss: 0.0045\n", "Epoch 68/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0058 - val_loss: 0.0022\n", "Epoch 69/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0056 - val_loss: 0.0069\n", "Epoch 70/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0056 - val_loss: 0.0215\n", "Epoch 71/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0060 - val_loss: 0.0233\n", "Epoch 72/100\n", "1000/1000 [==============================] - 104s 104ms/step - loss: 0.0057 - val_loss: 0.0105\n", "Epoch 73/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0052 - val_loss: 0.0065\n", "Epoch 74/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0060 - val_loss: 0.0081\n", "Epoch 75/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0069 - val_loss: 0.0128\n", "Epoch 76/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0056 - val_loss: 0.0070\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 77/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0057 - val_loss: 0.0013\n", "Epoch 78/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0050 - val_loss: 0.0045\n", "Epoch 79/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0052 - val_loss: 0.0258\n", "Epoch 80/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0052 - val_loss: 0.0059\n", "Epoch 81/100\n", "1000/1000 [==============================] - 104s 104ms/step - loss: 0.0054 - val_loss: 0.0093\n", "Epoch 82/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0050 - val_loss: 0.0029\n", "Epoch 83/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0052 - val_loss: 9.8691e-04\n", "Epoch 84/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0045 - val_loss: 8.6808e-04\n", "Epoch 85/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0052 - val_loss: 0.0168\n", "Epoch 86/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0051 - val_loss: 0.0069\n", "Epoch 87/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0059 - val_loss: 0.0066\n", "Epoch 88/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0047 - val_loss: 0.0046\n", "Epoch 89/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0057 - val_loss: 0.0041\n", "Epoch 90/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0050 - val_loss: 0.0050\n", "Epoch 91/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0047 - val_loss: 0.0027\n", "Epoch 92/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0055 - val_loss: 0.1644\n", "Epoch 93/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0054 - val_loss: 0.0030\n", "Epoch 94/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0051 - val_loss: 3.1771e-04\n", "Epoch 95/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0055 - val_loss: 0.0130\n", "Epoch 96/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0049 - val_loss: 0.0018\n", "Epoch 97/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0053 - val_loss: 0.0079\n", "Epoch 98/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0048 - val_loss: 0.0015\n", "Epoch 99/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0052 - val_loss: 7.4542e-04\n", "Epoch 100/100\n", "1000/1000 [==============================] - 105s 105ms/step - loss: 0.0044 - val_loss: 0.0077\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 211, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from tensorflow.keras.callbacks import EarlyStopping, CSVLogger, ModelCheckpoint\n", "from tensorflow.keras.optimizers import *\n", "import gc \n", "train_data = CaptchaSequence(characters, batch_size=128, steps=1000,input_length=12, label_length=6,chars_len=(4, 6)) # (characters, batch_size=128, steps=1000)\n", "valid_data = CaptchaSequence(characters, batch_size=128, steps=10,input_length=12, label_length=6,chars_len=(4, 6)) # (characters, batch_size=128, steps=100)\n", "\n", "callbacks = [CSVLogger('ctc.csv', append=True), ModelCheckpoint('gru_arithmetic_ctc_best_1116.h5', save_best_only=True)]\n", "# model.load_weights('gru_english4to6_ctc_best_5.h5') # 以前英文数字模型预测\n", "# model.load_weights('gru_english4to6_ctc_best_1014.h5') # lose:0.0203 val_loss:0.012\n", "# model.load_weights('gru_english4to6_ctc_best_1104.h5') # 1104 卷积核 3 5 ,1105卷积核3 1\n", "model.load_weights('gru_arithmetic_ctc_best_1116.h5')\n", "# gru_DigitAndEnglist_ctc_best.h5 mobilenet_DigitAndEnglist_ctc_best0930\n", "# callbacks = [CSVLogger('ctc.csv', append=True), ModelCheckpoint('DigitAndEnglist_cnn5gru_ctc_best2.h5', save_best_only=True)]\n", "# model.load_weights('DigitAndEnglist_cnn5gru_ctc_best2.h5')\n", "model.compile(loss={'ctc': lambda y_true, y_pred: y_pred}, optimizer=Adam(1e-4, amsgrad=True))\n", "model.fit_generator(train_data, epochs=100, validation_data=valid_data, workers=4, use_multiprocessing=True,\n", " callbacks=callbacks)" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 准确率回调函数\n", "from tqdm import tqdm\n", "\n", "def evaluate(model, batch_size=128, steps=1):\n", " '''\n", " 准确率验证函数,每批次的验证码长度必须一致\n", " ''' \n", " batch_acc = 0\n", " valid_data = CaptchaSequence(characters, batch_size, steps)\n", " for i in range(len(valid_data)):\n", " [X_test, y_test, _, _], _ = valid_data[i]\n", " y_pred = base_model.predict(X_test)\n", " shape = y_pred.shape\n", " # out = K.get_value(K.ctc_decode(y_pred, input_length=np.ones(shape[0])*shape[1],)[0][0])[:, :4]\n", " out = K.get_value(K.ctc_decode(y_pred, input_length=np.ones(shape[0])*shape[1],)[0][0])[:, :]\n", " # print(y_test)\n", " # print(type(y_test))\n", " # print(y_test[y_test<10, axis=1])\n", " # print(out)\n", " if out.shape[1] >= 4:\n", " batch_acc += (y_test[:,:out.shape[1]] == out).all(axis=1).mean()\n", " return batch_acc / steps\n", "evaluate(base_model,batch_size=256, steps=10)" ] }, { "cell_type": "code", "execution_count": 244, "metadata": {}, "outputs": [], "source": [ "# base_model.save('gru_DigitAndEnglist_base_model1014.h5') # 保存基础模型,预测用\n", "base_model.save('gru_arithmetic_base_model_1117.h5') # 保存基础模型,预测用\n", "\n", "x= base_model.output # [batch_sizes, series_length, classes]\n", "input_length = Input(batch_shape=[None], dtype='int32')\n", "ctc_decode = K.ctc_decode(x, input_length=input_length * K.shape(x)[1])\n", "decode = K.function([base_model.input, input_length], [ctc_decode[0][0]])\n", "\n", "def decode_arith(arith = '2×?=12'):\n", " arith = arith.replace('×', '*')\n", " items = re.split('=', arith)\n", " if len(items)==2:\n", " if items[-1] in ['?', '']:\n", " return eval(items[0])\n", " l = re.split('-|\\+|\\*', items[0])\n", " signs = re.findall('-|\\+|\\*', items[0])\n", " if len(l)==2 and len(signs)==1:\n", " if l[1] == '?':\n", " if signs[0] == '+':\n", " return eval('%s-%s'%(items[-1], l[0]))\n", " elif signs[0] == '-':\n", " return eval('%s-%s'%(l[0],items[-1]))\n", " elif signs[0] == '*':\n", " return eval('%s/%s'%(items[-1], l[0])) \n", " elif l[0] == '?':\n", " if signs[0] == '+':\n", " return eval('%s-%s'%(items[-1], l[1]))\n", " elif signs[0] == '-':\n", " return eval('%s+%s'%(l[1],items[-1]))\n", " elif signs[0] == '*':\n", " return eval('%s/%s'%(items[-1], l[1])) \n", " return ''" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "out ccntq\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'ccntq')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 163, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "img = Image.open('FileInfo0508/31c1f481-912a-11ea-b24d-408d5cd36814_cmftq.jpg') # 波浪线验证码\n", "# img = Image.open('/data/captcha/shensebeijingsandian/pgv4_d58a8328-c425-11ea-be07-ecf4bbc56acd.jpg') # 深色背景验证码\n", "# img = Image.open('/data/captcha/0ad9.jpg').resize((200,70), Image.BILINEAR) #小图噪点 \n", "img = img.resize((width, height), Image.BILINEAR)\n", "def img2array(image, width=width,height=height):\n", " X = np.zeros((1, height, width, 3))\n", " image = image.convert('L')\n", " px = [image.getpixel((x,2)) for x in range(image.size[0])]\n", " c = Counter(px)\n", " m = c.most_common()\n", " bg = m[0][0]\n", " bg_img = Image.new(mode='L', size=(width,height), color=bg)\n", " bg_img.paste(image, box=(0, 0)) # \n", " X[0] = np.expand_dims(np.array(bg_img)/255.0, axis=-1)\n", " return X\n", "img_arr = img2array(img)\n", "\n", "out_pre = decode([img_arr, np.ones(img_arr.shape[0])])\n", "out = ''.join([characters[x] for x in out_pre[0][0]])\n", "plt.imshow(img)\n", "print('out', out)\n", "plt.title(out)" ] }, { "cell_type": "code", "execution_count": 176, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pred:11-17=?\ttrue:1-17=?\n", "pred:34×19=?\ttrue:36×19=?\n", "pred:95×4=?\ttrue:95-44=?\n", "3\n", "总耗时: 14.573314905166626\n", "正确数:997, 错误数:3, 总样本:1000, 准确率:0.9970\n" ] } ], "source": [ "import time\n", "data = CaptchaSequence(characters, batch_size=200, steps=5, input_length=12, chars_len=(6,6))\n", "# model.load_weights('gru_DigitAndEnglist_ctc_best_0927.h5') \n", "# model.load_weights('mobilenet_DigitAndEnglist_ctc_best0930.h5')\n", "# model.load_weights('mobilenet_DigitAndEnglist_ctc_best_32.h5')\n", "# model.load_weights('gru_english4to6_ctc_best_5.h5') \n", "pos = neg = 0\n", "t1 = time.time()\n", "err_img = []\n", "err_label = []\n", "for i in range(len(data)): \n", " flag = False\n", " [X_test, y_test, input_len, label_len], _ = data[i]\n", " for idx in range(len(X_test)):\n", " in_data = X_test[idx:idx+1]\n", " out_pre = decode([in_data, np.ones(in_data.shape[0])])\n", "# print(out_pre)\n", " out = ''.join([characters[x] for x in out_pre[0][0]]) \n", " \n", " y_true = ''.join([characters[x] for x in y_test[idx] if x < len(characters)])\n", "# print('out', out, y_true)\n", " if out != y_true:\n", " err_img.append(X_test[idx])\n", " err_label.append('pre: %s, lab: %s'%(out, y_true))\n", " print('pred:' + str(out) + '\\ttrue:' + str(y_true))\n", " neg += 1\n", " flag = True\n", " else:\n", " pos += 1 \n", "print(len(err_img))\n", "\n", "t2 = time.time()\n", "print('总耗时:',t2-t1)\n", "print('正确数:%d, 错误数:%d, 总样本:%d, 准确率:%.4f'%(pos,neg,pos+neg, pos/(pos+neg)))" ] }, { "cell_type": "code", "execution_count": 242, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "out 2-7=\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 166, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 140, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# i = 0\n", "# plt.imshow(err_img[i].reshape((height, width)))\n", "# plt.imshow(err_img[i])\n", "# plt.title(err_label[i])\n", "# idx = 8\n", "# img_arr = X_test[idx:idx+1]\n", "# out_pre = decode([img_arr, np.ones(img_arr.shape[0])])\n", "# out = ''.join([characters[x] for x in out_pre[0][0]])\n", "# y_true = ''.join([characters[x] for x in y_test[idx] if x < len(characters)])\n", "# plt.imshow(img_arr.reshape((height, width)))\n", "# print('out', out)\n", "# plt.title(out)\n", "# i = 9\n", "# print(model.layers[i].name)\n", "# model.layers[i].get_weights() # 打印某层权重\n", "# height\n", "# model.load_weights('gru_english4to6_ctc_best_1105.h5')\n", "# model.load_weights('gru_arithmetic_ctc_best_1108.h5')\n", "paths = glob.glob('/data/captcha/arithmetic/100_40/*.jpg') # 100_26 70_25 100_40 330_69\n", "\n", "i = 12\n", "img = Image.open(paths[i])\n", "img2 = img.resize((width, height), Image.BILINEAR)\n", "img_arr = [np.array(img2)/255.0]\n", "out_pre = decode([img_arr, np.ones((1,))])\n", "out = ''.join([characters[x] for x in out_pre[0][0]])\n", "print('out', out)\n", "plt.imshow(img)\n", "plt.show()\n", "plt.imshow(img2)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 241, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "预测错误 0 55 False\n", "预测错误 9 0 False\n", "预测错误 0 5 False\n", "预测错误 3 63 False\n", "预测错误 8 3 False\n", "预测错误 7 5 False\n", "预测错误 3 5 False\n", "预测错误 9 0 False\n", "预测错误 7 5 False\n", "预测错误 0 1 False\n", "预测错误 0 1 False\n", "预测错误 9 60 False\n", "预测错误 7 5 False\n", "预测错误 0 1 False\n", "预测错误 8 3 False\n", "预测错误 3 0 False\n", "预测错误 4 11 False\n", "预测错误 3 12 False\n", "预测错误 0 11 False\n", "预测错误 7 9 False\n", "预测错误 3 0 False\n", "预测错误 5 8 False\n", "预测错误 3 0 False\n", "预测错误 0 5 False\n", "预测错误 2 4 False\n", "预测错误 6 2 False\n", "预测错误 6 5 False\n", "预测错误 7 16 False\n", "预测错误 3 5 False\n", "预测错误 2 42 False\n", "预测错误 9 6 False\n", "预测错误 1 -8 False\n", "计算错误:输出公式: 0×?=76\n", "预测错误 4 0×?=76 False\n", "预测错误 6 5 False\n", "计算错误:输出公式: 0×?=10\n", "预测错误 0 0×?=10 False\n", "预测错误 7 8 False\n", "预测错误 8 7 False\n", "预测错误 3 13 False\n", "预测错误 6 -3 False\n", "预测错误 1 6 False\n", "预测错误 7 -2 False\n", "预测错误 0 2 False\n", "预测错误 3 5 False\n", "预测错误 8 5 False\n", "预测错误 8 9 False\n", "预测错误 4 3 False\n", "预测错误 0 2 False\n", "预测错误 6 9 False\n", "预测错误 4 -4 False\n", "预测错误 6 4 False\n", "预测错误 3 5 False\n", "预测错误 1 0 False\n", "预测错误 2 1 False\n", "预测错误 77 9 False\n", "预测错误 0 1 False\n", "预测错误 1 3 False\n", "预测错误 8 10 False\n", "预测错误 3 0 False\n", "预测错误 1 11 False\n", "预测错误 9 5 False\n", "预测错误 3 5 False\n", "预测错误 6 3 False\n", "预测错误 1 3 False\n", "预测错误 12 3 False\n", "预测错误 6 5 False\n", "预测错误 0 3 False\n", "预测错误 7 5 False\n", "计算错误:输出公式: 0×?=0\n", "预测错误 0 0×?=0 False\n", "预测错误 5 46 False\n", "预测错误 8 88 False\n", "预测错误 6 8 False\n", "预测错误 2 1 False\n", "预测错误 2 57 False\n", "预测错误 7 6 False\n", "预测错误 2 4 False\n", "预测错误 1 2 False\n", "预测错误 2 34 False\n", "预测错误 2 0 False\n", "预测错误 1 0 False\n", "预测错误 6 -3 False\n", "预测错误 0 10 False\n", "预测错误 8 9 False\n", "预测错误 2 1 False\n", "预测错误 5 3 False\n", "预测错误 0 3 False\n", "预测错误 7 22 False\n", "计算错误:输出公式: 0×?=72\n", "预测错误 8 0×?=72 False\n", "预测错误 5 8 False\n", "预测错误 2 12 False\n", "预测错误 1 -5 False\n", "预测错误 9 11 False\n", "预测错误 6 86 False\n", "预测错误 6 4 False\n", "预测错误 0 30 False\n", "预测错误 3 5 False\n", "预测错误 2 0 False\n", "预测错误 7 -1 False\n", "预测错误 9 0 False\n", "预测错误 8 15 False\n", "预测错误 3 63 False\n", "预测错误 6 5 False\n", "预测错误 ]4 4 False\n", "预测错误 6 8 False\n", "预测错误 0 1 False\n", "预测错误 7 27 False\n", "预测错误 1 0 False\n", "预测错误 8 5 False\n", "预测错误 2 4 False\n", "预测错误 1 0 False\n", "预测错误 8 6 False\n", "预测错误 8 4 False\n", "预测错误 7 17 False\n", "预测错误 6 8 False\n", "预测错误 7 6 False\n", "预测错误 8 3 False\n", "预测错误 4 21 False\n", "预测错误 7 1 False\n", "预测错误 6 4 False\n", "预测错误 3 -6 False\n", "预测错误 3 0 False\n", "预测错误 0 9 False\n", "预测错误 5 9 False\n", "预测错误 10 2 False\n", "预测错误 2 5 False\n", "正确数:862, 总数:986, 准确率:0.8742\n" ] } ], "source": [ "'''预测真实验证码,统计准确率'''\n", "import re\n", "pos = neg = 0\n", "n = 0\n", "# model.load_weights('gru_english4to6_ctc_best_1105.h5')\n", "model.load_weights('gru_arithmetic_ctc_best_1116.h5')\n", "\n", "path1 = '/data/captcha/arithmetic/100_40/*.jpg' #正确数:588, 总数:1505, 准确率:0.3907 正确数:1500, 总数:1505, 准确率:0.9967\n", "path2 = '/data/captcha/arithmetic/100_26/*.jpg' # 正确数:1122, 总数:2822, 准确率:0.3976 正确数:2761, 总数:2822, 准确率:0.9784\n", "# path3 = '/data/captcha/label_english/100_25/*.jpg' #正确数:6488, 总数:6503, 准确率:0.9977 正确数:6503, 总数:6503, 准确率:1.0000\n", "\n", "err_imgs = []\n", "err_labels = []\n", "files = glob.glob(path2)\n", "sp = int(len(files)*0.8)\n", "# sp = min(int(len(files)*0.8), 3000)\n", "for file in files[:]:\n", " try:\n", " img = Image.open(file)\n", " except:\n", " print('打开错误:',file)\n", " continue\n", "\n", " label = file.split('_')[-1][:-4].lower()\n", "\n", " img = img.resize((width, height), Image.BILINEAR)\n", " \n", " X = np.zeros((1, height, width, 3))\n", " img = img.convert('RGB')\n", " X[0] = np.array(img)/255.0\n", " \n", " out_pre = decode([X, np.ones(X.shape[0])])\n", " out = ''.join([characters[x] for x in out_pre[0][0]])\n", " \n", " try:\n", " gs = out\n", " out = decode_arith(arith = out)\n", " out = str(int(out))\n", " except:\n", " print('计算错误:输出公式:',gs)\n", " \n", " if label == out:\n", " pos += 1\n", " else:\n", " neg += 1\n", " print('预测错误',label, out, label==out)\n", " err_imgs.append(img)\n", " err_labels.append('label:'+label+' pred:'+out)\n", " n += 1\n", "# if n > 100:\n", "# break\n", "print('正确数:%d, 总数:%d, 准确率:%.4f'%(pos, pos+neg, pos/(pos+neg)))" ] }, { "cell_type": "code", "execution_count": 229, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuUAAAEzCAYAAACWtX1RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xu8XGV56PHfIyh3gpAgtFjBCxhiWwWOl+wcBLR4OXJRweIVbaTVBC0gxrZiRatHTE8V0QTP0XjwDohKbGsBKwRMsO2ReKkhchFQqCBswp0EBZ/zx1pjhu2syd6zZ+9379m/7+czn5V53/Wu9czMWms/8+add0VmIkmSJKmcx5QOQJIkSZrpTMolSZKkwkzKJUmSpMJMyiVJkqTCTMolSZKkwkzKJUmSpMJMyiVJkqTCTMolSZKkwkzKJUmSpMJMyiVJkqTCTMolSZKkwkzKJUmSpMJMyiVJkqTCTMolTUsRsSoiMiLe2Mdtnl5v85x+bXOU+31jvd9Vk7nfma7U5y1JnZiUS9I0F5VXR8S3IuLOiHgoIm6KiE9HxL6l4xtkEXFQRJwbEb+IiE0R8fP6fX9q6dgkTS8m5ZI0jUXE44CvAV8CXgjsDDwAPAlYCPwgIo4sF+Hgiojjge8CfwrsAWwCnsjm9/2wguFJmmZMyiVpejsDOBp4GPhLYOfM3JUqOfwqsB1wbkQ8pVyIgyci/gj4FLA18EXgCZm5C7A38C1gB+CrETGnWJCSphWTckmapiJid2Bx/fTvM/OszNwIkJm3AMcB11Il5u8vE+XAej/wWOB7wPGZeQdAZv4MeAVwM7AL8FfFIpQ0rZiUSxo4EXFARJwREavrMb4P1WOtV0XEmyNiq1Fs4zERcXJE/DAiHqjbfyMinj2Kdq+vx3ffERG/qscbnxcRz+nfqwTgMOBx9b/PHFmZmQ8DH6+fviIiduzXjiPikPpHkjfVz4+IiMsi4q6IuD8ivhsRr+nSPuvH3hExNyI+GxE3R8SvI+LCDusfERErI+K2+j29PSL+MSJetIU494uIL9frb4yIn0TEeyNim3G89l2Al9ZPP5KZj7TXZ+b9wCfrp6+OiOh1X5JmDpNySYPoEuBdwBCwG/AgsCvwfKohB9+IiK27tA/gAuAjwP7Ar+v2RwBXRsSfdmwUsRNwMfA5qvHduwEbgT2BV9VtTxzLC2lLfjMiDhlR/aR6eXdm3t6wiZ/Uy22BBWPZ9xhiPAn4BtX7C1XP/HOBL0bEJ7bQ/L9T9Ta/AZhFNQynfduPjYgv1Ns/EngC1Xs6B3gZcFFEfLghroOBtVT/YzAH+BWwD3A6cBmbv9B0atuamSU7VC+g6iWH6ljr5OJ6uScwt2k/ktRiUi5pEF0CvBrYMzN3yMzHAzsCrwduo+rlPLlL+6OoEsBTqMZo7wI8lWqs8FbA/20Yo91KxtcCLwK2z8xZVAn9acAjwMciYmj8LxGAVsLYree//cvHvD7tt90cYCnVa9+zfq9nA/9Q1y/u1mMOLAf+H/CHmbkzsD3wjrb6pcBrgeupvtjsWL+nOwOLgPuAJRHx6vaNRsTjga/U21sLPLNutyNwPPDHdfte7F8vb8vMOxvWubrD+pLUyKRc0sDJzNdk5rmZeVtb2QOZ+QWqxA66J2SzgPdm5kfbxmj/lCpRv4aqJ/iv2xtExAupfnB5DXBYZl6SmZvqtndl5geBv6W67j6q7Tj8rF7uFBF7NazTnhDu2af9ttseWAW8MTN/Cb99vacCn63XeV+XIRy3Ay/JzB/XbbN+r4mIp1H9ePUOqvf0K5n5QL3efZl5NvDn9XbePWK7JwK7A3cCL8rMH9btfp2ZnwP+gupz7kXrffxF0wr1cXP3iPUlqZFJuaQZJTO/Q5Us7R0Rv9ew2oN0HqO9ic09wK8ckWgeXy8/lZn3NGz3i/Xy0NGMa6/3uSozo36sGlG9impoDcA7R7aNiG2Bt7cV7TSaffbgQ5nZaZjHB+vlU6l6pjv5ROuLTwdvoBpKdF5m3tywzgXAQ8C8iGhPfo+pl5/KzOEO7b7I5i81vyMzT2+97x2qd6iXTXG3PFgv+zaWX9LgMimXNJAi4tiIuLD+oefGtnHZSTUrBkBTUv69Vo9sB5fXy12oxie3zK+Xp9U/RvydB9UwDah6l3fr8aX9Vt0z/b/rp2+LiL+LiN+vx2EfAPwz1bjz1jjt34x3nx38GljTEN91wK310wMa2n+3y7Zb7+nxXd7TW9g8vvuJ8Nu521tDdS6ng/pLxBVd9i1Jk6rbD50kadqpf8B5PvDytuKHgGGqMd1QjYN+DJt7PEf6ry67aK+bA9xQ/7vVS7sLo7P9KNfbkncCTwFeQjVu/bQR9e+h6i2fw+bhFP00nJm/6lL/X1TvTdN83Xd0adt6T3didL38rfd0VzaPs28cYkL3z7mb1he27UYZz/097kfSDGJPuaRBcwJVQv4gVTL6xMzcNjPnZOYembkHmxO1fk5V17qevrxtuEm3x0392Gk9pOZlwGuAfwJ+Wj++QfVj0w+z+YvCdf3YZ5890qWu9Z6ePMr3dNUkxAubj5+m/2khIrZj8/t+a9N6ktRiT7mkQXNsvfy7zPz4yMp6LPfsLWyjMdkaUdfey/tL4A/qx6TKzN8AX64fj1IPY2kN7+g2VKRXsyPicV16y1vvV7ce8Sa/BPZj7O/pBqpkf6t6/z/aQmxj1ZpZZY+I2K1hBpb9O6wvSY3sKZc0aFqzkHy/oX6Ias7ubg6KiKbhJa25uO8GbmwrbyW8L9lihJOrNVXgDzJz/QRs/7HA8zpVRMRT2Zz4ru1h26339MVjaVR/QVhXPz24IbZoqhuF1Wz+ge0LG9Y5vF7+ApiI913SgDEplzRoWjOf/OHIinq8+QdGsY0dqKbiG9l+G6q5ywEuGDHjyDn18kUR0TWJrOfQnnAR8cdUUwMCfGgCd/XXDVMetqZ+vC4zf9DDdj9HNRf73Ij4i24rdnhPv1IvT4iIXTs0OQ7Yu4eYqGfX+Wb99JSIeNTf0ojYAXhL/fTLDTPTSNKjmJRLGjTfqpfviYijWlMPRsTTgX8Ens3mH+o1uQf4u4j4y3psMBHxZGAl1d0ZNwFntDfIzIuAr1GNU/96RLwzIn7748aI2DUijo6Ib1DdKXRUtnBHTyLi0Ih4R0Q8te21zqqT2Eup/lfg/Mw8f7T7HKMHgRcAKyJi93r/u9R32fyzep3Te9lwZl4NfLR+ujwiPtQ+H3tE7BQRh9d3/PzKiObLqOZAnw1cHBF/VLd5bES8jurOrk1TV27pjp4A76XqLX82cE5EzK7b/QHVcfAHVP+b0vFuo5I0kkm5pEHzv6h+6LgzcCGwMSLuoRpC8CdUPZid5q1ut5Lqh5JnAvdExF31Nl9ENVb5Ta0b3Izwhnqf21LdifKXEXFXRNxLdRObrwNHjO/l/Y4nUb3m64BNEbEBuAv4JNUsJF8GXtfnfba7g2oGmDcBt9X7vxNYUtcvy8wvjWP7S4Czqf5e/RVwc0TcExF3UyXVF1Pd8fNR875n5l1UN4raCBwE/LBucx/weapx5mf3GlR9M6ITqKabfD1we739n1ENXXkAeGVm9jKWXtIMZFIuaaBk5gbguVQJ1y118UaqZPn5mXnOaDZD9YPRU6iS+cdRJbr/BMzPzHMb9v1AZr6cajaUr1GNJ96eatz19VRTNb4JeFsvr63BaqovD2upktQdqKb6+wrw4vrupr/u0n7cMvNMqrudXk71d2UT8G/A6zLzxG5tR7HtRzJzEbAA+AJV0rsN1Refn1N9eTqRzTcLam97OfAs4DyqLw/bADdR9dwfRjVV5nhi+yzVePrzqX6Uuh1wM/AZ4JmZeel4ti9pZgmHukmSxqoeSnMZ8LPM3LtsNJI0/dlTLkmSJBVmUi5JkiQVZlIuSZIkFWZSLkmSJBXmDz0lSZKkwuwplyRJkgozKZckSZIKMymXJEmSCiualEfEXhHxmYj4RUQ8FBE3RcSZEfH4knFJkiRJk6nYDz0j4inAlcDuwErgJ8CzgUOBa4ChzLyzSHCSJEnSJNq64L6XUyXkb8/Mj7cKI+IjwMnAB4G39LLhiLgR2Bm4afxhSpIkSY32Bu7NzH3Gs5EiPeV1L/n1VEnzUzLzN211OwG3AgHsnpkP9LD9O7fbbrtd586d26eIJenR7rvvvsa6W2+9tbFu3333nYhwJEkjTNZ1ev369WzcuHFDZu42poYjlOopP7ReXtKekANk5n0RsQY4HHgu8O0etn/T3Llzd73qqqvGGaYkdbZq1arGuve9732NdZdddtkERCNJGmmyrtMHHngga9euvWlMjToo9UPP/erltQ3119VLu5QkSZI08Er1lM+ql/c01LfKd+m2kYho6gp/ei9BSZIkSSU4T7kkSZJUWKme8lZP+KyG+lb53d02kpkHdiqve9AP6C00SZIkaXKV6im/pl42jRl/Wr1sGnMuSZIkDYxSPeWtn7UeHhGP6TAl4hDwIPBvJYKTpJbly5d3LF+3bl1jG2dYkaTJ0XSNhul3nS7SU56ZPwUuoZpsffGI6vcBOwCf72WOckmSJGm6KXlHz0XAlcBZEfECYD3wHKo5zK8F3l0wNkmSJGnSFJt9pe4tPwg4hyoZfwfwFOBjwHMz885SsUmSJEmTqWRPOZl5M/CmkjFIkiRJpTlPuSRJklRY0Z5ySZoKFi8e+XvzzebNm9exfNmyZRMVjiRphKbrdNM1GqbfddqeckmSJKkwk3JJkiSpMJNySZIkqTCTckmSJKkwk3JJkiSpMJNySZIkqTCnRJQ07QwPDzfWLVy4cMzbW7JkSWPd0NDQmLcnSeqs1+t303V6kK7R9pRLkiRJhZmUS5IkSYWZlEuSJEmFmZRLkiRJhZmUS5IkSYWZlEuSJEmFOSWipClpzZo1jXVLly5trFuxYsWY9zV79uwxt5EkNWu6hvd6/Z4J12l7yiVJkqTCTMolSZKkwkzKJUmSpMJMyiVJkqTCTMolSZKkwkzKJUmSpMKcElFSMcuXL2+sW7duXWPdypUrJyIcSdIY9HIN9/rdzJ5ySZIkqTCTckmSJKkwk3JJkiSpMJNySZIkqTCTckmSJKkwZ1+RNOEWL17csXzevHmNbZYtWzZR4UiSRqnp+g1ew/vNnnJJkiSpMJNySZIkqTCTckmSJKkwk3JJkiSpMJNySZIkqTCTckmSJKkwp0SUNGrDw8ONdQsXLmysW7JkScfyoaGhccckSRqdXq7hTddv8Breb/aUS5IkSYWZlEuSJEmFmZRLkiRJhZmUS5IkSYWZlEuSJEmFmZRLkiRJhTklojRDrVmzZsxtli5d2li3YsWKxrrZs2ePeV+SpLHrdm3v5Rru9Xvy2FMuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFWZSLkmSJBXm7CvSAFu+fHlj3bp168a8vZUrV44nHElSH/R6bfcaPrXZUy5JkiQVZlIuSZIkFWZSLkmSJBXWl6Q8Io6JiI9HxHci4t6IyIj4whbazI+Ib0bEhojYGBE/ioiTImKrfsQkSZIkTRf9+qHnacAfA/cDtwBP77ZyRBwFfBXYBJwHbACOAD4KDAHH9ikuSZIkacrr1/CVk4F9gZ2Bt3ZbMSJ2Bj4FPAIckpkLM/OdwDOB7wLHRMRxfYpLkiRJmvL60lOemZe1/h0RW1r9GGAO8LnM/F7bNjZFxGnAt6kS+3P7EZs0EyxevLhj+bx58xrbLFu2bKLCkST1gdf2maXEDz0Pq5cXdai7AngQmB8R20xeSJIkSVI5JZLy/erltSMrMvNh4EaqHvwnT2ZQkiRJUikl7ug5q17e01DfKt9lSxuKiKsaqrr+0FSSJEmaSpynXJIkSSqsRE95qyd8VkN9q/zuLW0oMw/sVF73oB8w9tAkSZKkyVeip/yaernvyIqI2BrYB3gYuGEyg5IkSZJKKdFTfinwWuDFwJdH1B0MbA9ckZkPTXZgUmnDw8ONdQsXLmysW7JkScfyoaGhccckSSrjNa95Tcdyr+2DqURP+QXAMHBcRBzUKoyIbYEP1E/PLhCXJEmSVERfesoj4mjg6PrpHvXyeRFxTv3v4cw8FSAz742IE6iS81URcS6wATiSarrEC4Dz+hGXJEmSNB30a/jKM4HjR5Q9mc1zjf8MOLVVkZkXRsTzgXcDrwS2Ba4HTgHOyszsU1ySJEnSlNeXpDwzTwdOH2ObNcBL+7F/SZIkaTpznnJJkiSpMJNySZIkqbASUyJKM9qaNWsa65YuXdpYt2LFisa62bNnjysmSdLU49SHM4s95ZIkSVJhJuWSJElSYSblkiRJUmEm5ZIkSVJhJuWSJElSYc6+Ik2Q5cuXdyxft25dY5uVK1dOVDiSJGkKs6dckiRJKsykXJIkSSrMpFySJEkqzKRckiRJKsykXJIkSSrMpFySJEkqzCkRpS1YvHhxT+3mzZvXsXzZsmXjCUeSJA0ge8olSZKkwkzKJUmSpMJMyiVJkqTCTMolSZKkwkzKJUmSpMJMyiVJkqTCnBJRk2J4eLh0CFu0cOHCjuVLlizpaXtDQ0PjCUcqYjLP1dmzZ4+5Tbf4etmeJE0V9pRLkiRJhZmUS5IkSYWZlEuSJEmFmZRLkiRJhZmUS5IkSYU5+4rGbM2aNWNuc/TRRzfWzZ8/fzzh/I4rr7yyp3YrVqzoWO4sKpqupsK52u18vPDCC8e8vaVLlzbWrVy5cszbk6Spwp5ySZIkqTCTckmSJKkwk3JJkiSpMJNySZIkqTCTckmSJKkwk3JJkiSpMKdEVEfLly9vrFu8ePGYt7do0aLGumXLlo15e9Ac41577TXmNgBHHXVUx/LMHFtg0iSa6udqtxgWLFgw5u31er2QpKnOnnJJkiSpMJNySZIkqTCTckmSJKkwk3JJkiSpMJNySZIkqTCTckmSJKkwp0RUR71MpQbN05V1m2at1zjmzZs3phig+/RxvcTg9GyaDN2OwV6O6W7Hba/nai+a4uj2ervVrVu3bsz7kqSpwp5ySZIkqTCTckmSJKkwk3JJkiSpMJNySZIkqTCTckmSJKkwk3JJkiSpsMjM0jH0XURcdcABBxxw1VVXlQ5lyluwYEHH8jVr1vS0vTvuuGPMbRYuXNhYt2TJksa6oaGhMe+r2+tqei+66fZ6Z8+ePebtDarh4eExt/H92ywiemrX9B52O267fVbdztUmvZzDc+bMaWzTy7EEMIh/6yRNDQceeCBr165dm5kHjmc79pRLkiRJhZmUS5IkSYWNOymPiN0i4s0R8fWIuD4iNkbEPRGxOiIWRkTHfUTE/Ij4ZkRsqNv8KCJOioitxhuTJEmSNJ1s3YdtHAucDdwKXAb8HHgC8Arg08BLIuLYbBvQFxFHAV8FNgHnARuAI4CPAkP1NiVJkqQZoR9J+bXAkcA/Z+ZvWoUR8TfAfwCvpErQv1qX7wx8CngEOCQzv1eXvwe4FDgmIo7LzHP7EJskSZI05Y07Kc/MSxvKb4uITwIfBA6hTsqBY4A5wOdaCXm9/qaIOA34NvBWwKR8EvQ6y0qTXmZnWLFiRWNdv2fg6GXGlm7mzp3bWNfLTDSDqtv71GSmvX/9PhcB1q9fP+Z9LV26tLGu27napJdzuClu6D4zSzdNr7nf1wRJ6tVE/9Dz1/Xy4bayw+rlRR3WvwJ4EJgfEdtMZGCSJEnSVDFhSXlEbA28oX7anoDvVy+vHdkmMx8GbqTqwX/yRMUmSZIkTSX9GFPe5AzgGcA3M/PitvJZ9fKehnat8l22tIOIaLo70NNHFaEkSZI0BUxIT3lEvB14B/AT4PUTsQ9JkiRpUPS9pzwiTgQ+BlwNvCAzN4xYpdUTPovOWuV3b2lfTbczrXvQD9hytJIkSVJ5fe0pj4iTgI8DPwYOzczbOqx2Tb3ct0P7rYF9qH4YekM/Y5MkSZKmqr71lEfEu6jGkf8A+JPMHG5Y9VLgtcCLgS+PqDsY2B64IjMf6ldsmjwrV64sHcKkGh5uOszVzvdpyxYsWND3bZ5//vkdy9etW9fYZiqcw/2eChWa39+2+9pJUlF96Smvb/xzBnAV1ZCVbn+BLwCGgeMi4qC2bWwLfKB+enY/4pIkSZKmg3H3lEfE8cD7qe7Q+R3g7RExcrWbMvMcgMy8NyJOoErOV0XEucAGqruC7leXnzfeuCRJkqTpoh/DV/apl1sBJzWsczlwTutJZl4YEc8H3g28EtgWuB44BTgr/f9ESZIkzSDjTsoz83Tg9B7arQFeOt79S5IkSdPdhN3RU5IkSdLomJRLkiRJhfX95kGa2RYvXtyxfNmyZZMcSWdN8UkzyVQ5H6czryVTi8e0BoE95ZIkSVJhJuWSJElSYSblkiRJUmEm5ZIkSVJhJuWSJElSYSblkiRJUmFOiTgghoeHG+sWLlzYWLd69eqO5UcffXRP+1q+fHnH8h/+8IeNbS688MLGul50i/2aa67p676kqWzRokWlQxhY559/fukQ1MYpETUI7CmXJEmSCjMplyRJkgozKZckSZIKMymXJEmSCjMplyRJkgpz9pVpZs2aNR3Lly5d2thmxYoVjXWzZ8/uWL5+/frGNt1mN2nSFDfA3Llzx7w9gPnz54+5TbfXNWfOnJ7imAq6vb/T1VR/TUNDQz21m+qvS6PT7VoiSb2wp1ySJEkqzKRckiRJKsykXJIkSSrMpFySJEkqzKRckiRJKsykXJIkSSrMKRELWb58eU/t1q1b17F85cqV4wnndzRNlQiwevXqMW9v8eLF4wmno2XLlvV9m9PVggULSofQd1P9NWVmY12387vpHNb00u0aKUm9sKdckiRJKsykXJIkSSrMpFySJEkqzKRckiRJKsykXJIkSSrMpFySJEkqzCkRJ1C3aQDnzZvX0zan6zSA0zXu6WKqv7+9TIk5VV5TU+y9nt9Nr6vXaVIlSYPBnnJJkiSpMJNySZIkqTCTckmSJKkwk3JJkiSpMJNySZIkqTBnXxml4eHhxrqFCxd2LF+yZEljm6GhoXHHpLHr9jn2YvXq1X3dXq8WLVpUOoSuepl9pd+vqZdzGHr7jHs5v7vtZ8GCBWPeHjS/5tmzZ/e0vcnS7/MU+n+uTkSM6t1UP6al0bCnXJIkSSrMpFySJEkqzKRckiRJKsykXJIkSSrMpFySJEkqzKRckiRJKswpEdusWbOmsW7p0qWNdStWrOhYPp2naOr2XnQz1ad6nDt3bl+3N9Vf70zUdOz2cg7D5J3HE3EsNR3vd9xxR9/31U/9Pk+h/+/vRMSo3k31Y1oaDXvKJUmSpMJMyiVJkqTCTMolSZKkwkzKJUmSpMJMyiVJkqTCTMolSZKkwpwSsc2XvvSlxrqVK1dOYiTlLViwoKd2mdnnSMZu+fLljXXDw8Nj3t6iRYvGE44mQLfPeN26dR3Lp/M53O0Y7OV479ZmMo/3pjh6OU9hcmN/1ateNWn7kjQz2FMuSZIkFWZSLkmSJBXWl6Q8Ij4cEd+OiJsjYmNEbIiI70fEeyNit4Y28yPim/W6GyPiRxFxUkRs1Y+YJEmSpOmiXz3lJwM7AN8CPgZ8EXgYOB34UUQ8sX3liDgKuAI4GPg68AngccBHgXP7FJMkSZI0LfTrh547Z+amkYUR8UHgb4C/BhbVZTsDnwIeAQ7JzO/V5e8BLgWOiYjjMtPkXJIkSTNCX3rKOyXktfPr5dPayo4B5gDnthLytm2cVj99az/ikiRJkqaDiZ4S8Yh6+aO2ssPq5UUd1r8CeBCYHxHbZOZDExncSMuWLZvM3Q2kxYsXdyyfiPe2aV/dpnvrpilGp0Qso+nzBZg3b15j3SCex91eU7f3ouk97PbeNk0puaU4xhoD9HaudothMs/VQTzOJJXV16Q8Ik4FdgRmAQcBC6gS8jPaVtuvXl47sn1mPhwRNwLzgCcD6/sZnyRJkjQV9bun/FTgCW3PLwLemJl3tJXNqpf3NGyjVb7LlnYWEVc1VD19S20lSZKkqaKv85Rn5h6ZGcAewCuoeru/HxEH9HM/kiRJ0iCZkDHlmflL4OsRsZZqmMrngGfU1a2e8Fmd2raV3z2K/RzYqbzuQfeLgCRJkqaFCb2jZ2b+DLgamBcRs+via+rlviPXj4itgX2o5ji/YSJjkyRJkqaKiZ59BeD36uUj9fJS4LXAi4Evj1j3YGB74IrJnnlFj3bZZZf11O7QQw/tWH711VePJ5yOVq1a1bG819gPOeSQ3oNR3x177LGNdX5Wm3WbcWT//fcf8/aazmHo7TxuOk+ht3PVz17SoBp3T3lE7BsRvzMUJSIeU988aHfgysy8q666ABgGjouIg9rW3xb4QP307PHGJUmSJE0X/egpfynwoYhYDdwI3Ek1A8vzqX7oeRtwQmvlzLw3Ik6gSs5XRcS5wAbgSKrpEi8AzutDXJIkSdK00I+k/F+Bp1LNSf4sqqkMH6D6gefngbMyc0N7g8y8MCKeD7wbeCWwLXA9cEq9fvYhLkmSJGlaGHdSnpk/Bk7sod0aql52SZIkaUab0NlXJEmSJG1ZDOJIkYi4c7vtttt17ty5pUOZtu67776e2l133XUdy3fcccfxhNPR/fff37H8aU97Wk/b22mnncYTjrpYu3btmNt0+xz9rEanl/O46RyG3s7jpvMUejtX/ewlTTXr169n48aNGzJzt/FsZ1CT8huBnYGbgKfXxT8pFpCmIo8LdeJxoU48LtSJx4Va9gbuzcx9xrORgUzK29V392y8+6dmJo8LdeJxoU48LtSJx4X6zTHlkiRJUmEm5ZIkSVJhJuWSJElSYSblkiRJUmEm5ZIkSVJhAz/7iiRJkjTV2VMuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFTawSXlE7BURn4mIX0TEQxFxU0ScGRGPLx2bJk5E7BYRb46Ir0fE9RGxMSLuiYjVEbEwIjoe8xExPyK+GREb6jY/ioiTImKryX4NmhwR8bqIyPrx5oZ1XhYRq+pj6P6I+PeIOH6yY9XEi4gX1NeN2+q/Gb+IiIsj4qUd1vV6MQNExP+IiEsi4pb6c74hIr4SEc9rWN/jQuMykDcPioinAFcCuwMrgZ8Azwazo8flAAAGuklEQVQOBa4BhjLzznIRaqJExFuAs4FbgcuAnwNPAF4BzAK+ChybbQd+RBxVl28CzgM2AEcA+wEXZOaxk/kaNPEi4onAfwJbATsCJ2Tmp0escyLwceBOquPiV8AxwF7AP2TmqZMatCZMRCwF3gncAvwLMAzMAQ4E/jUzl7St6/ViBoiIDwNLqM7/C6mOiacCRwJbA2/IzC+0re9xofHLzIF7ABcDCbxtRPlH6vJPlo7Rx4R99odRXQgfM6J8D6oEPYFXtpXvDNwOPAQc1Fa+LdUXuwSOK/26fPT1GAngX4GfAn9ff8ZvHrHO3lR/XO8E9m4rfzxwfd3meaVfi4++HA8n1J/nOcDjOtQ/tu3fXi9mwKP+e/EIcBuw+4i6Q+vP+QaPCx/9fgzc8JW6l/xw4CZg2Yjq9wIPAK+PiB0mOTRNgsy8NDP/MTN/M6L8NuCT9dND2qqOoeoROzczv9e2/ibgtPrpWycuYhXwdqovb2+iuh508mfANsAnMvOmVmFm3gX8z/rpWyYwRk2CiNgG+CDVF/Y/z8xfjVwnM3/d9tTrxczwJKrhvf+embe3V2TmZcB9VMdBi8eF+mLgknKqb7EAl3RIzO4D1gDbA8+d7MBUXOuP68NtZYfVy4s6rH8F8CAwv/7jrWkuIuYCZwAfy8wruqza7bj4lxHraPr6E6pk6mvAb+oxxO+KiL9sGDfs9WJmuI5quNqzI2J2e0VEHAzsRPW/bS0eF+qLQUzK96uX1zbUX1cv952EWDRFRMTWwBvqp+0XzsbjJTMfBm6kGj/45AkNUBOuPgY+T9Ur+jdbWL3bcXErVQ/7XhGxfV+D1GT7b/VyE/B94J+ovrSdCVwZEZdHRHuPqNeLGSAzNwDvovo90tUR8X8i4kMRcT5wCfAt4C/amnhcqC8GMSmfVS/vaahvle8yCbFo6jgDeAbwzcy8uK3c42Xm+FvgWcAbM3PjFtYd7XExq6Fe08Pu9fKdVON+/ztVL+gfUSVfBwNfaVvf68UMkZlnUk0QsDXV7w7+CjgWuBk4Z8SwFo8L9cUgJuXSo0TE24F3UM3C8/rC4aiAiHgOVe/4P2Tmd0vHoymj9TfwYeDIzFydmfdn5n8CL6eajeX5TVPgaXBFxBLgAqofAD8F2IFqNp4bgC/WM/ZIfTWISfmWerBa5XdPQiwqrJ7W7mPA1cCh9X9LtvN4GXD1sJXPUf3X8ntG2Wy0x0VTz5imh9Z5/f32H/QCZOaDVDN5QTWlLni9mBEi4hDgw8A3MvOUzLwhMx/MzLVUX9b+C3hHRLSGo3hcqC8GMSm/pl42jRl/Wr1sGnOuARERJ1HNM/1jqoT8tg6rNR4vdTK3D1Uv2g0TFacm3I5Un+9cYFPbDYOSakYmgE/VZWfWz7sdF3tS9ZrdUidumr5an3NTsnRXvdxuxPpeLwbby+rlZSMr6nP+P6jyp2fVxR4X6otBTMpbJ9HhI+/eGBE7AUNUv4T+t8kOTJMnIt4FfBT4AVVCfnvDqpfWyxd3qDuYaqaeKzPzof5HqUnyELCi4fH9ep3V9fPW0JZux8VLRqyj6evbVGPJ92+42+8z6uWN9dLrxczQmiVlTkN9q7w1habHhfqj9ETpE/HAmwfN6AfVEIUEvgfsuoV1dwbuwJs+zMgHcDqdbx60D948aEY8qO76nMDJI8oPB35D1Vs+qy7zejEDHsCr6s/yNuD3R9S9pD4uNgK7eVz46OcjMn97t/GBUd9A6EqqX9avBNYDz6Gaw/xaYH5m3lkuQk2UiDie6oc5j1ANXek05vemzDynrc3RVD/o2QScS3V75COpb48MvCoH8UQREXE61RCWEzLz0yPq3gacRZWYn0fVK3YMsBfVD0ZPndxoNREiYi+qvxdPpOo5/z7Vl7Kj2ZxMfbVtfa8XA67+X5OLgRdS3Sjo61QJ+lyqoS0BnJSZH2tr43GhcRvIpBwgIp4IvJ/qv5N2A26lOrHel9Vd+TSA2pKsbi7PzENGtBsC3g08j6p343rgM8BZmflI/yPVVNAtKa/rjwBOBQ6gGu53NdVdPj87mXFqYtVzkf8tVRK1J3Av8B3gQ5n5Hx3W93ox4CLiscBi4Dhgf6ohKBuoxpOflZmXdGjjcaFxGdikXJIkSZouBvGHnpIkSdK0YlIuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFWZSLkmSJBVmUi5JkiQVZlIuSZIkFfb/AUeYhP8zXlaZAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 153, "width": 370 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import time\n", "for i in range(min(10, len(err_imgs))):\n", " plt.imshow(err_imgs[i])\n", " plt.title(err_labels[i])\n", " plt.show()\n", " time.sleep(0.5)\n", " if i > 10:\n", " break" ] }, { "cell_type": "code", "execution_count": 207, "metadata": {}, "outputs": [ { "ename": "ZeroDivisionError", "evalue": "division by zero", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdecode_arith\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'0×?=60'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m\u001b[0m in \u001b[0;36mdecode_arith\u001b[0;34m(arith)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0meval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'%s-%s'\u001b[0m\u001b[0;34m%\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ml\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0msigns\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'*'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0meval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'%s/%s'\u001b[0m\u001b[0;34m%\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ml\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0ml\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'?'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0msigns\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'+'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mZeroDivisionError\u001b[0m: division by zero" ] } ], "source": [ "decode_arith('0×?=60')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.0" } }, "nbformat": 4, "nbformat_minor": 2 }