活动地址:优快云21天学习挑战赛
本文为🔗365天深度学习训练营 中的学习记录博客
前言
本周的任务有3个,预测股票,识别验证码,识别眼睛状态。因为任务不同,那么可能会使用到不同的预处理、网络等等。
本节主要学习验证码识别。
一、拆解任务
首先需要了解这次需要处理的任务,这里贴一张老师的数据展示图。
数据分为图片及其对应的标签,且这个标签包含数字和字母。
二、学习内容
这个任务比较不一样的是他的表情是一串字符。传统的ocr的做法应该是先定位裁剪每个字符,然后一个个字(符)解析。
1. 数据处理
(1)先读数据
data_dir = "D:/jupyter notebook/DL-100-days/datasets/captcha"
data_dir = pathlib.Path(data_dir)
all_image_paths = list(data_dir.glob('*'))
all_image_paths = [str(path) for path in all_image_paths]
# 打乱数据
random.shuffle(all_image_paths)
# 获取数据标签
all_label_names = [path.split("\\")[5].split(".")[0] for path in all_image_paths]
image_count = len(all_image_paths)
print("图片总数为:",image_count)
(2)处理标签
这里的做法是 把 标签转为数字。
假如 a-> 0 b->2 1->28,那么标签可以转为ab1 -> [ 0 2 28 ]。
number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r',<