当前位置: 首页 > 后端技术 > Node.js

基于SSVM的手写数字在线识别网站

时间:2023-04-04 00:48:20 Node.js

项目地址:https://github.com/chirsz-eve...本项目是为响应学习Rust,使用免费的树莓派而写的。其主要逻辑类似于数学教育范式,前端获取输入通过AJAX请求发送给服务器,服务器调用JavaScript中的Rust代码获取计算结果。前端主要是在Canvas上画图。点击“测试”按钮后,图片数据(右侧小图)将被压缩并转换为Base64编码发送至服务器。具体来说,使用POST请求将其发送到/recognize。服务端收到图片数据后,直接将Base64字符串转发给Rust代码,在Rust中完成Base64解码和图片识别。本来想用JavaScript解码的,但是这样生成的UInt8Array传给Rust后长度变了。这个怀疑是ssvmup的bug,所以改传了Base64字符串。Rust使用预训练的神经网络进行图像识别。它使用具有两个隐藏层的全连接神经网络。这是一个相对简单的模型。它使用MINST数据集进行训练,在MINST测试集上达到97%。准确性。一开始我用的是nalgebra库做矩阵运算,但是在SSVM上会出现莫名其妙的bug,所以换成rulinalg。