一.介绍
这是一个利用tensorflow.js库的网页端的网络。
在没有使用TensorFlow.js库之前,想要实现这个功能,需要花很长时间来完成算法编写,包括数据图像的采集、模型的训练、参数的调整,最终结果可能得经过分类模型(如:VGG、ResNet、ShuffleNet等)的卷积层、全连接层,最终以概率的方式呈现,预期效果可以达到,但是花费的时间代价也很大,
利用这个tensorflow.js库可以在网页端完成这些操作,训练包括预测的时间取决于自己使用的计算机。
二.实现过程
1.数据集
首先这是训练所使用的数据集,其中包含2893张剪刀石头布的图片,所有这些数据都是以白色背景构成的,每幅图像为300×300像素:
http://www.laurencemoroney.com/rock-paper-scissors-dataset/
2.网页数据集加载
解决浏览器加载图片的限制,使用精灵表单(spritesheet)将一组图像粘合成一个图像,此时,图像中每个像素都变成1像素高清图像,将它们堆叠创建一个保存所有图像的10MB大小的大图像