3 个不稳定版本
使用旧的 Rust 2015
0.3.0 | 2018 年 8 月 17 日 |
---|---|
0.1.1 | 2017 年 11 月 3 日 |
0.1.0 | 2017 年 2 月 8 日 |
#553 in 机器学习
61 每月下载量
595KB
14K SLoC
Alumina
一个使用纯 Rust 编写的实验性深度学习库。短期内每个版本都可能出现故障。请参阅 examples 目录中的 mnist.rs 或 Rusty_SR 以获取使用示例。
贡献
问题是一个很好的讨论、问题、请求和协调未来工作的地方。
鼓励提交明显错误的文档贡献,以此作为引导文档工作的方式。只需提交一个 PR 并用任何从最佳猜测到消极挑衅的童谣来填写文档注释即可。
文档
在库稳定下来之前,文档可能比较零散,尤其是在图抽象最终确定和切换到 ndarray 之前。
进度
- 计算超图
- 密集连接和偏置操作
- 损失函数
- 均方误差
- 分类交叉熵
- SoftMax 交叉熵
- 二元交叉熵
- 激活函数
- Tanh
- 逻辑函数
- 恒等函数
- ReLU
- LeakyReLU
- ELU
- SoftMax
- SRGB 曲线
- BeLU
- SoftExp
- SoftPlus
- 空间运算
- 形状约束传播
- N 维卷积
- 任意填充
- 步长
- N 维平均池化
- N 维 spaxel 打乱以实现“亚像素卷积”
- N 维线性插值(反向传播尚未完成)
- 全局池化
- 广播
- 数据加载
- Mnist
- Cifar
- 图片文件夹
- Imagenet (ILSVRC)
- SGD
- RMSProp
- ADAM
- CAIN
- 自适应批量大小
- 自适应学习率
- 自适应动量
- 基本的数值测试
- 限制优化器评估批次大小以保持在内存限制内
- 选择性地禁用前向值的计算、节点导数和参数导数的计算
- 操作构造的构建器模式
- 将 Graph 结构拆分为可变的 GraphBuilder 和不可变的子图
- 替换“意外二次”图算法
- 用基于节点生存性分析的子图优化分配/释放模式替换前置分配
- 全面优化数据摄取,特别是缓冲输入处理/读取。
- 尽可能迁移到bluss的ndarray(长期未更新)
- 提高命名的一致性
- 完成文档
- 减少API中表达非法状态的能力
- 从panic转换为error-chain
- 严格保护不安全的代码
- 全面测试
- 将Arrayfire作为APU上sgemm的选项
遥远
- RNNs
- 高效的概率结构(例如,生成RNNs)
- 图优化遍历和原地操作
- 支持动态和静态图
许可证
MIT
依赖项
~11–22MB
~324K SLoC