elixir-nx/axon
Nx-powered Neural Networks
解决的问题
Axon 为在 Elixir 生态系统中构建和训练神经网络提供了一个全面的框架。它使开发者无需离开主语言即可实现深度学习模型,提供用于模型创建的高级 API 和用于管理训练循环的结构化 API,同时保持对数值定义的低级控制。
工作原理
Axon 基于 Nx(数值 Elixir),分为三个主要层次:
- 函数式 API:基础层,由
defn(数值定义)组成,用于常见深度学习组件,如激活函数、层和损失函数。这使得模型可以通过 Nx 编译器进行 JIT 或 AOT 编译以实现加速。 - 模型创建 API:用于将模型定义为 Elixir 结构体的高级接口。它将模型定义与初始化和应用的职责分离,使用
Axon.build/2生成预测和初始化函数。 - 训练 API:受 PyTorch Ignite 启发的基于例程的系统,用于实现训练循环,允许用户通过指标和事件处理器来监控和控制循环。
适用人群
希望将深度学习和神经网络构建直接集成到自己应用程序中的 Elixir 开发者,以及需要在高级模型创建与低级数值加速之间灵活结合的用户。
主要亮点
- Nx 驱动:与 Nx 张量和编译器(如 EXLA)完全集成,实现硬件加速。
- 解耦 API:函数式、模型创建和训练 API 可独立使用。
- 可编译:支持 JIT 和 AOT 编译,还可转换为 TensorFlow Lite 和 ONNX 等格式。
- 可扩展:允许用户将 Axon 的函数式 API 与自定义数值定义组合使用。
相关
- 项目
- 项目
- 项目
- 项目
- 项目