equinox

equinox

强大且易用的JAX兼容神经网络库

Equinox是一款专为JAX设计的神经网络库,拥有类似PyTorch的语法。该库支持过滤API和PyTree操作,并兼容JAX及其生态系统中的所有工具。对于新手用户,推荐使用MNIST卷积神经网络示例,简化模型构建过程。Equinox还提供运行时错误处理等高级功能。

EquinoxJAX神经网络转换APIPyTreeGithub开源项目
<h1 align='center'>春分</h1>

春分是你的单一 JAX 库,提供核心 JAX 中没有的一切:

  • 神经网络(或更广泛的任何模型),使用简便的类似 PyTorch 的语法;
  • 变换的过滤 API;
  • 有用的 PyTree 操作例程;
  • 高级功能如运行时错误;

最重要的是,春分不是一个框架:你在春分中编写的一切都兼容 JAX 或其生态系统中的其他内容。

如果你完全不熟悉 JAX,请从这个 CNN on MNIST 示例 开始。

FlaxHaiku 转过来?主要区别在于春分 (a) 提供了许多这些库中没有的高级功能,例如 PyTree 操作或运行时错误;(b) 拥有更简单的模型构建方式:它们只是 PyTrees,所以它们可以顺利地通过 JIT/grad/etc. 边界。

安装

pip install equinox

需要 Python 3.9+ 和 JAX 0.4.13+。

文档

可在 https://docs.kidger.site/equinox 获取。

快速示例

使用类似 PyTorch 的语法定义模型:

import equinox as eqx import jax class Linear(eqx.Module): weight: jax.Array bias: jax.Array def __init__(self, in_size, out_size, key): wkey, bkey = jax.random.split(key) self.weight = jax.random.normal(wkey, (out_size, in_size)) self.bias = jax.random.normal(bkey, (out_size,)) def __call__(self, x): return self.weight @ x + self.bias

并与普通 JAX 操作完全兼容:

@jax.jit @jax.grad def loss_fn(model, x, y): pred_y = jax.vmap(model)(x) return jax.numpy.mean((y - pred_y) ** 2) batch_size, in_size, out_size = 32, 2, 3 model = Linear(in_size, out_size, key=jax.random.PRNGKey(0)) x = jax.numpy.zeros((batch_size, in_size)) y = jax.numpy.zeros((batch_size, out_size)) grads = loss_fn(model, x, y)

最后,背后没有任何魔法。所有 eqx.Module 做的就是将你的类注册为一个 PyTree。从那时起,JAX 已经知道如何处理 PyTrees。

引用

如果你发现在学术工作中有用,请引用: (arXiv 链接)

@article{kidger2021equinox, author={Patrick Kidger and Cristian Garcia}, title={{E}quinox: neural networks in {JAX} via callable {P}y{T}rees and filtered transformations}, year={2021}, journal={Differentiable Programming workshop at Neural Information Processing Systems 2021} }

(也请考虑在 GitHub 上给项目加星。)

另见:JAX 生态系统中的其他库

总是有用
jaxtyping: 数组形状/类型的注解。

深度学习
Optax: 一阶梯度(SGD、Adam 等)优化器。
Orbax: 检查点(异步/多主机/多设备)。
Levanter:基础模型(例如 LLMs)的可扩展且可靠的训练。

科学计算
Diffrax:数值微分方程求解器。
Optimistix:根查找、最小化、定点和最小二乘。
Lineax:线性求解器。
BlackJAX: 概率+贝叶斯采样。
sympy2jax: SymPy<->JAX 转换;通过梯度下降训练符号表达式。
PySR: 符号回归。(非 JAX 值得提及的项目!)

Awesome JAX
[Awesome JAX](https://github.com/n2cholas/awesome-jax):更多 JAX 项目列表。

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多