《TensorFlow 快速入门与实战》6-实战TensorFlow验证码识别
第六部分 实战 TensorFlow 验证码识别 扫描二维码 试看/购买《TensorFlow 快速入门与实战》视频课程 • 准备模型开发环境 • 生成验证码数据集 • 输入与输出数据处理 • 模型结构设计 • 模型损失函数设计 • 模型训练过程分析 • 模型部署与效果演示 第六部分 目录 准备模型开发环境 第三方依赖包 数据集生成 • Pillow • captcha 储的数据, 它应该为一般的图像处理工 具提供坚实的基础。 https://github.com/python-pillow/Pillow captcha Catpcha 是一个生成图像和音频验证码的开源工具库。 https://github.com/lepture/captcha from captcha.image import ImageCaptcha from captcha.audio https://github.com/pallets/flask 生成验证码数据集 验证码(CAPTCHA)简介 全自动区分计算机和人类的公开图灵测试(英语:Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是 计算机或人的公共全自动程序。在CAPT0 码力 | 51 页 | 2.73 MB | 1 年前3Train-Val-Test-交叉验证
0 码力 | 13 页 | 1.10 MB | 1 年前3【PyTorch深度学习-龙龙老师】-测试版202112
1 章 人工智能绪论 18 需依据计算机性能而定。 图 1.22 Anaconda 安装界面-1 图 1.23Anaconda 安装界面-2 安装完成后,怎么验证 Anaconda 是否安装成功呢?通过键盘上的 Windows 键+R 键, 即可调出运行程序对话框,输入“cmd”并回车即打开 Windows 自带的命令行程序 cmd.exe。或者点击开始菜单,输入“cmd”也可搜索到 CPU 版本 conda install pytorch torchvision cpuonly -c pytorch 安装完后,在 ipython 中输入“import torch”命令即可验证 CPU 版本是否安装成功。 PyTorch GPU/CPU 版本安装完成后,可以通过“torch.__version__”查看本地安装的 PyTorch 版本号,如图 1.32 所示。 常用的 4.1(a))和准确率 Accuracy 变化趋势曲线(图 4.1(b)),其中损失值和准确率均由张量计算产生,类型为标量,因此可以直接可视化为曲 线图。 (a) 某模型训练、验证误差曲线 (b) 某模型训练、验证准确度曲线 图 4.1 损失和准确度曲线 以均方误差函数为例,经过 F.mse_loss 函数返回每个样本上的误差值,最后取误差的 均值作为当前 Batch 的误差,它是一个标量,代码如下:0 码力 | 439 页 | 29.91 MB | 1 年前3Keras: 基于 Python 的深度学习库
Keras 处理超过内存的数据集? . . . . . . . . . . . . . . . . . . . . 32 3.3.10 在验证集的误差不再下降时,如何中断训练? . . . . . . . . . . . . . . . . 32 3.3.11 验证集划分是如何计算的? . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.12 在训练过程中数据是否会混洗? . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.13 如何在每个 epoch 后记录训练集和验证集的误差和准确率? . . . . . . . . 32 3.3.14 如何「冻结」网络层? . . . . . . . . . . . . . . . . . . . . . . . . . . random.random((1000, timesteps, data_dim)) y_train = np.random.random((1000, num_classes)) # 生成虚拟验证数据 x_val = np.random.random((100, timesteps, data_dim)) y_val = np.random.random((100, num_classes))0 码力 | 257 页 | 1.19 MB | 1 年前3动手学深度学习 v2.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 4.10.6 K折交叉验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 4.10.7 模型选择 . . 定义训练函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 13.13.6 训练和验证模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639 13.13.7 在 Kaggle 上对测试集进行分类并提交结果 定义训练函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 13.14.6 训练和验证模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 13.14.7 对测试集分类并在Kaggle提交结果0 码力 | 797 页 | 29.45 MB | 1 年前3机器学习课程-温州大学-05深度学习-深度学习实践
通过 训练集的数据让我们确定拟合曲线的参数。 验证集(Validation Set):也叫做开发集( Dev Set ),用来做 模型选择(model selection),即做模型的最终优化及确定的, 用来辅助我们的模型的构建,即训练超参数,可选; 测试集(Test Set): 为了测试已经训练好的模型的精确度。 三者划分:训练集、验证集、测试集 机器学习:60%,20%,20%;70%,10%,20% 机器学习:60%,20%,20%;70%,10%,20% 深度学习:98%,1%,1% (假设百万条数据) 数据集划分 数据集 训练集 验证集 测试集 4 交叉验证 1. 使用训练集训练出10个模型 2. 用10个模型分别对交叉验证集 计算得出交叉验证误差(代价函 数的值) 3. 选取代价函数值最小的模型 4. 用步骤3中选出的模型对测试 集计算得出推广误差(代价函数 的值) 5 数据集制作 PyTor RandomRotation是随机旋转方法。 最后将图像转换为Tensor类型并进 行标准化。 可以将以上方法添加到数据集加载 器中进行批量的数据增强。 16 偏差和方差 训练集误差和交叉验证集误差近似时:偏差/欠拟合 交叉验证集误差远大于训练集误差时:方差/过拟合 x1 x2 x1 x2 x1 x2 Underfitting Good fit Overfitting 17 偏差和方差0 码力 | 19 页 | 1.09 MB | 1 年前3机器学习课程-温州大学-05机器学习-机器学习实践
通过 训练集的数据让我们确定拟合曲线的参数。 验证集(Validation Set):也叫做开发集( Dev Set ),用来做 模型选择(model selection),即做模型的最终优化及确定的, 用来辅助我们的模型的构建,即训练超参数,可选; 测试集(Test Set): 为了测试已经训练好的模型的精确度。 三者划分:训练集、验证集、测试集 机器学习:60%,20%,20%;70%,10%,20% 机器学习:60%,20%,20%;70%,10%,20% 深度学习:98%,1%,1% (假设百万条数据) 1.数据集划分 数据集 训练集 验证集 测试集 5 交叉验证 1. 使用训练集训练出k个模型 2. 用k个模型分别对交叉验证集计算得 出交叉验证误差(代价函数的值) 3. 选取代价函数值最小的模型 4. 用步骤3中选出的模型对测试集计算得出 推广误差(代价函数的值) 6 数据不平衡是指数据集中各类样本数量不均衡的情况 般来说,随着模型复杂度的增加,方 差会逐渐增大,偏差会逐渐减小,在 虚线处,差不多是模型复杂度的最恰 当的选择,其“偏差”和“方差”也 都适度,才能“适度拟合”。 30 偏差和方差 训练集误差和交叉验证集误差近似时:偏差/欠拟合 交叉验证集误差远大于训练集误差时:方差/过拟合 x1 x2 x1 x2 x1 x2 Underfitting Good fit Overfitting 31 偏差和方差0 码力 | 33 页 | 2.14 MB | 1 年前3机器学习课程-温州大学-07机器学习-决策树
9 乌黑 稍蜷 沉闷 稍糊 稍凹 硬滑 否 11 浅白 硬挺 清脆 模糊 平坦 硬滑 否 12 浅白 蜷缩 浊响 模糊 平坦 软粘 否 13 青绿 稍蜷 浊响 稍糊 凹陷 硬滑 否 训练集 验证集 21 C4.5的剪枝 预剪枝 基于表生成未剪枝的决策树 平坦 纹理 色泽 好瓜 坏瓜 根蒂 色泽 脐部 坏瓜 坏瓜 坏瓜 坏瓜 好瓜 好瓜 好瓜 好瓜 好瓜 乌黑 22 C4.5的剪枝 预剪枝 平坦 坏瓜 脐部 凹陷 稍凹 ① ④ ③ ② 好瓜 好瓜 验证集精度 脐部=? 划分前:42.9% 划分后:71.4% 预剪枝决策:划分 验证集精度 根蒂=? 划分前:71.4% 划分后:71.4% 预剪枝决策:禁止划分 验证集精度 色泽=? 划分前:71.4% 划分后:57.1% 预剪枝决策:禁止划分 {1,2,3,14} {6,7,15 9 乌黑 稍蜷 沉闷 稍糊 稍凹 硬滑 否 11 浅白 硬挺 清脆 模糊 平坦 硬滑 否 12 浅白 蜷缩 浊响 模糊 平坦 软粘 否 13 青绿 稍蜷 浊响 稍糊 凹陷 硬滑 否 训练集 验证集 在已经生成的决策树上进行剪枝,从而 得到简化版的剪枝决策树。 后剪枝决策树通常比预剪枝决策树保留 了更多的分支。一般情况下,后剪枝的 欠拟合风险更小,泛化性能往往优于预 剪枝决策树。0 码力 | 39 页 | 1.84 MB | 1 年前3机器学习课程-温州大学-Scikit-learn
SelectKBest(score_func, k) 过滤式(Filter),保留得分排名前k的特征(top k方式) fs.RFECV(estimator, scoring=“r2”) 封装式(Wrap- per),结合交叉验证的递归特征消除法,自动选择最优特征个数 fs.SelectFromModel(estimator) 嵌入式(Embedded),从 模型中自动选择特征,任何具有coef_或者 feature_importances_的 Scikit-learn主要用法 交叉验证及超参数调优 from sklearn.model_selection import cross_val_score clf = DecisionTreeClassifier(max_depth=5) scores = cross_val_score(clf, X_train, y_train, cv=5, scoring=’f1_weighted’) 使用5折交叉验证对决策树模型进行评估, 使用5折交叉验证对决策树模型进行评估, 使用的评分函数为F1值 sklearn提供了部分带交叉验证功能的模型 类如LassoCV、LogisticRegressionCV等, 这些类包含cv参数 26 2.Scikit-learn主要用法 交叉验证及超参数调优 超参数调优⸺网格搜索 from sklearn.model_selection import GridSearchCV from sklearn0 码力 | 31 页 | 1.18 MB | 1 年前3PyTorch OpenVINO 开发实战系列教程第一篇
to PATH”之后再点击【Install Now】默认安装完成即可。 3. 安装好 Python 语言包支持以后可以通过命令行来验证测试 安装是否成功,首先通过 cmd 打开 Window 命令行窗口,然 后输入 Python,显示如下: 图 1-2(验证 Python 命令行模式) 如果显示图 1-2 所示的信息表示已经安装成功 Python 语言包 支持;如果输入 Python 之后显示信息为“'python' python 4. 把安装好的 3.6 设置为默认版本 zhigang@ubuntu:/usr/bin$ sudo ln -s python3.6 /usr/bin/ python 5. 检查与验证 zhigang@ubuntu:~$ python -V Python 3�6�5 成功完成上述五个步骤的命令行执行就完成了 Python 语言包 依赖安装,然后安装 Pytorch 框架,CPU 个叫做自动 微分的内置模块,来自动计算神经网络模型训练时候的各个参 数梯度值并完成参数值更新,这种技术就是深度学习框架中的 自动微分。 1.4 Pytorch 基础操作 前面我们已经安装并验证好了 Pytorch 框架,解释了深度学习 框架中一些常见术语与基本概念。本节重点介绍 Pytorch 中一 些基本的数据定义与类型转换、算子操作、通过它们帮助读者 进一步了解 Pytorch0 码力 | 13 页 | 5.99 MB | 1 年前3
共 22 条
- 1
- 2
- 3