#neural-network #stack #no-std

nightly dumbnet

一个 [no_std] 神经网络库

1 个不稳定版本

0.1.0 2019年12月26日

#594 in 机器学习

Apache-2.0

38KB
767

愚联网络

一个完全不使用分配或标准库的神经网络库。它所有的操作都在栈上完成。

这有一些优点

嵌入式

没有操作系统的嵌入式设备现在能够运行至少简单的神经网络。

编译时检查

由于整个网络布局需要在编译时已知,因此会检查输入和输出的维度。

易于入门

无需 OpenCL 或 CUDA,它只需在您的 CPU 上运行。或者基本上任何其他 CPU 都可以。

优化

整个网络被编译器所知可能会使一些优化成为可能。但话说回来,该库目前并不是非常优化。

这也很有趣,实际上也成功了 :)

查看示例目录以获取一些简单的网络来入门。

计划

  • 卷积层会很好
  • 考虑库的设计,特别是 Layer 可能过于粗糙的特质,子层可能会有用。
    • 统一 SoftMax 和其他层
  • 更好的优化
  • ! 使用更少的一般化
  • 找出如何使用更少的类型参数

1.0 声明

如果这个包有检测手写的工具并且使用起来相当容易,它将是 1.0 版本。

贡献

请将钩子链接到您的本地 .git/hooks/ 目录,以便在提交前运行一些自动检查。

ln -s ../../hooks/pre-commit .git/hooks/

请安装 rustfmt 和 cargo-sync-readme 以运行这些检查。

rustup component add rustfmt
cargo install cargo-sync-readme

请在更改顶级文档时执行 cargo-sync-readme。请更改代码时运行 cargo fmt。如果可能,请配置您的编辑器为您执行此操作。

依赖关系

~1.8–2.7MB
~55K SLoC