加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

10分钟带你打开深度学习大门,代码已开源

发布时间:2019-08-19 22:13:34 所属栏目:经验 来源:沉沉
导读:副标题#e# 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 深度学习技术的不断普及,越来越多的语言可以用来进行深度学习项目的开发,即使是JavaScript这样曾经只是在浏览器中运行的用于处理轻型任务的脚本语言。 TensorFlow.js是谷歌

准确率表格中,每一行是一个手势类别的准确率值;矩阵中,手势X的行和手势Y的列确定的单元格代表实际是手势X,被算法认为是手势Y的图像数量,这样的矩阵我们叫做“混淆矩阵”,因为它展现了算法对于两两手势容易搞混的程度。

可以看到,因为我们的模型还没有进行训练,所以算法认为所有输入图像中的手势都是“剪刀”,它还很懵懂。

那么就开始训练它吧!点击“Train Your Simple Model(训练简单模型)”!TensorFlow Visor面板中出现了“Model Training(模型训练)”一栏,展示了训练中实时的准确率(Accuracy)和损失(Loss)值,正常情况下,我们应该可以看到随着训练的进行,准确率不断上升,而损失不断下降。训练在12个epoch(60个batch)后停止。

石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源

△TensorFlow Visor界面中展示的训练进程

训练结束后,点击“Check Model After Training(查看训练后模型结果)”。在原来的准确率表格和混淆矩阵下方出现了训练后模型的准确率(Trained Accuracy)和混淆矩阵(Trained Confusion Matrix)。

Amazing!训练后,模型在验证数据上对于三种手势的识别准确率都超过了95%,混淆矩阵也是健康的(对角线深,其余浅)。

石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源

△TensorFlow Visor界面中展示的训练后模型效果

你也许会想,“高级的东西总比简单的东西好吧?高级模型效果一定更好。” 其实这是一个常见的误区。

如果你选择“Create Advance Model(创建高级模型)”,重复上述操作,会发现高级模型不仅训练时间更长,效果也不如简单模型那么好。

更进一步,高级模型如果训练时间过长,会出现过拟合(overfitting)的情况。

过拟合是指,模型太注重完美拟合训练数据,导致其虽然在训练数据上的表现极佳,但是对于训练数据之外它没有见过的数据效果较差,或者我们也会说模型此时的泛化(generalize)能力较差。

模型测试

既然已经有了一个表现很不错的简单模型,那么让我们立刻将它投入使用吧!

点击“Launch Webcam(打开摄像头)”,对准一面白墙,对着摄像头做出不同的手势,应用会定时捕捉视频图像,通过训练好的模型算法,告诉你当前手势属于三种类别的概率,是不是很酷炫呢?

石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源

△使用已训练模型识别视频中的手势

Done!

至此,你已经在完全在浏览器中训练了一个用于手势分类的深度学习模型,通过一些指标验证了它的有效性,并且在现实情境中对它进行了测试。

尽管这些步骤很简单,但你了解它们在做什么——欢迎来到深度学习的世界!

传送门

源代码仓库:

https://github.com/GantMan/rps_tfjs_demo

Demo页面:

https://rps-tfjs.netlify.com/

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读