1

项目地址:https://github.com/chirsz-eve...

运行截图

本项目响应 学 Rust,免费拿树莓派 而编写,其主要逻辑和 数学教育范例 差不多,前端获取输入后用 AJAX 请求发往服务器,服务端在 JavaScript 中调用 Rust 代码获得运算结果。

前端主要是在一个 Canvas 上画图,点击“test”按钮后会压缩图片数据(右侧小图)并转换为 Base64 编码发送到服务端,具体是用 POST 请求发往 /recognize

服务端接收到图图片数据后,直接将 Base64 字符串转发给 Rust 代码,在 Rust 中完成 Base64 解码和图像识别。本来想在 JavaScript 中解码,但这样生成 UInt8Array 传到 Rust 后长度发生改变,疑似 ssvmup 的 BUG,所以改为传递 Base64 字符串。

Rust 中使用预先训练好的神经网络进行图像识别,所用的是有两个隐藏层的全连接神经网络,是比较简单的模型,使用 MINST 数据集进行训练,在 MINST 测试集上达到了 97% 的准确率。

开始使用的是 nalgebra 库进行矩阵运算,但在 SSVM 上会出现莫名的 BUG,因此换成了 rulinalg


被子飞了
6 声望0 粉丝