3 个不稳定版本

使用旧的 Rust 2015

0.3.0 2018 年 8 月 17 日
0.1.1 2017 年 11 月 3 日
0.1.0 2017 年 2 月 8 日

#553 in 机器学习

Download history 10/week @ 2024-07-05 10/week @ 2024-07-12 39/week @ 2024-07-19 9/week @ 2024-07-26

61 每月下载量

MIT 许可证

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