Rust使用神经网络进行数字识别
本文是关于使用 Rust 和 WASM 进行数字识别的两部分系列的第一部分,在这部分中,我们将从头开始实现一个识别数字的 WebApp:
- 在这一部分中,我们将使用 Rust 从头开始实现一个神经网络。文章中解释了神经网络背后的数学原理,所以即使你不了解神经网络,也可以阅读本文。
- 在第二部分中,我们将构建一个与 Rust 后端使用 WASM(WebAssembly)进行交云的前端。前置条件:建议具备线性代数(矩阵、向量)和多变量微积分(偏导数、梯度、链式法则)的一些知识。
fastbloom: 号称 Rust 最快的布隆过滤器
fastbloom 是一个在 Rust 中实现的布隆过滤器,其速度比现有的布隆过滤器快50-1000%。这是由于它使用亲缓存的数据块结构,能够从每个项目的仅一个真实哈希高效派生出多个索引位,同时借鉴了其他关于布隆过滤器的研究成果。 fastbloom 被实现为一个分块布隆过滤器。分块布隆过滤器将它们的底层数组分割成“块”的子数组。从项目哈希值设置和检查的位被限制在单个的块内,而不是整个位数组。这有利于提高缓存效率,并且在从项目哈希生成位时有机会利用 SIMD 和 SWAR 操作。
使用 Rust 进行全栈开发
Lu 在分享了他们使用 Rust 全栈开发新项目的经验。Lapdev由不同层次上的几个组件组成,他们使用 Rust 语言完成了所有工作,包括 Web 前端、Web 后端、服务器守护程序和 SSH/HTTP 代理。虽然有人认为对于像 Web 前端这样的工作,Typescript/Javascript 作为主导语言,凭借其众多可用的库可能是更好的选择,但对于 Lu 团队来说,Rust 确更为合适。
--
From 日报小组 BobQ, FBI小白
社区学习交流平台订阅:
评论区
写评论还没有评论