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



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

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

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

示例:

const canvas = document.querySelector('canvas');
const imageTensor = tf.browser.fromPixels(canvas);
imageTensor.print();
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script><canvas width="28" height="28"></canvas>

最新更新