本文首发于量子位。
随着深度学习技术的不断普及,越来越多的语言可以用来进行深度学习项目的开发,即使是JavaScript这样曾经只是在浏览器中运行的用于处理轻型任务的脚本语言。
TensorFlow.js是谷歌推出的基于JavaScript的深度学习框架,它提供的高级API使得开发可以直接在浏览器中运行的深度学习算法变得轻而易举。
这不,美国的一位老哥Gant Laborde使用TensorFlow.js开发了一款是用深度学习技术在浏览器中识别“石头剪刀布”游戏手势的网页应用,放出了demo并将代码开源在了Github上。
对于JavaScript开发者来说,这是打开深度学习大门的极佳入门教材。只需10分钟,你就可以训练一个准确率可观的手势识别模型,并且调用摄像头对实时视频中的手势进行识别。
还等什么,轻收好这项教程,用电脑打开demo页面https://rps-tfjs.netlify.com/,一起来一步一步操作吧!
△使用运行在浏览器中的深度学习模型识别手势
在一切开始之前
在打开新世界的大门之前,我们总是需要做一些准备工作。
在这里,给大家简单地介绍一下典型的深度学习算法的开发步骤,目的是希望读者们在接下来的操作中明确地知道自己在做什么,而不仅仅是点几个按钮罢了。
这里不会涉及任何艰涩的数学公式,请放心食用。
我们平常所说的深度学习算法,更确切地说,应该是基于深度神经网络的算法(或者说模型)。
这里并不需要知道深度神经网络究竟是个什么东西(你可能需要再花百倍于此的时间才有可能搞明白其具体原理),只需要知道,它可以视作是一个函数f,一个很难用简单公式表达出来的函数。
所谓函数,就要有自变量x和因变量y。
自变量x,我们一般称之为输入(input),在这个问题中就是一张做出“石头”、“剪刀”或“布”手势的手的图像。
而因变量y,我们一般称之为输出