在Tensorflow.js中编写数字分类器神经网络

时间:2018-12-30 08:55:40

标签: javascript tensorflow machine-learning neural-network tensorflow.js

我正在寻找有关一个刚刚开始的有趣项目的指导。我是一年级CS学生,并且对数学非常感兴趣,因此也吸引了机器学习。我正在尝试编写一个程序,该程序将允许用户在html canvas元素中绘制数字0-9,然后获取保存的图像并通过我在tensorflow.js中编写的神经网络运行它并猜测他们的数字绘制并且还可能绘制条形图,饼形图或描述神经网络置信度百分比的任何其他图形组合。我以前看过这件事,但是我不太确定它是如何实现的。我来这里的原因是我有点困惑。我使用This Tensorflow.js Link来帮助我编写神经网络,它可以根据MNIST数据集中的图像进行预测。我还编写了适当的HTML,CSS和JS来绘制配置良好的图像,然后从画布将其另存为.png。我不明白的是如何将这两者连接起来,输入用户绘制的已保存图像,然后输出猜测,还显示了一些百分比的图形和统计数据以及其他类似信息浏览器。非常感谢大家!

1 个答案:

答案 0 :(得分:0)

TensorFlow.js具有将图像转换为张量的方法,因此您可以使用它。

它是tf.fromPixels(),它将ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement中的一个作为参数并将其转换为tf.Tensor3D

示例:

const canvas = document.querySelector('canvas');
const imageTensor = tf.fromPixels(canvas);

imageTensor.print();
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.14.1/dist/tf.min.js"></script>
<canvas width="28" height="28"></canvas>