Google 开源的 Python 数值计算库,提供自动微分、vmap 自动向量化和 jit 即时编译,可把 NumPy 风格代码跑上 GPU 或 TPU,适合在 NumPy 里手写梯度、想少改代码就上加速器的机器学习研究者。
工具免费不用登录网页英文开源国内可直接访问
JAX 是一个 Python 库,用来做高性能的数组计算。它把 NumPy 的接口搬了过来,同时加上自动微分和即时编译,让写数值程序的人能在不离开 Python 的情况下把代码跑到 GPU 或 TPU 上。它主要面向做机器学习研究、需要自己写训练循环或自定义算子的开发者。
主要能力
JAX 的核心是几个变换函数:grad 用来求梯度,vmap 把函数自动向量化,jit 把计算编译成 XLA 可执行代码。配合 jax.numpy 模块,大部分 NumPy 写法可以平移过来。它还提供 pytrees 结构、伪随机数生成、分布式数组和自动并行,以及 Pallas 这个写自定义 GPU/TPU 内核的子语言。
适合谁
如果你在 NumPy 里手写梯度、或者想在不改太多代码的前提下把计算放到加速器上,JAX 是常见的选择。文档按 JAX 101 到 601 分了层级,从数组和变换讲到多主机分布式和内部实现,新手可以按顺序读,老手直接查 API 参考。
费用与限制
JAX 是开源项目,文档站免费公开,不需要注册登录。它本身不提供托管服务,安装和运行环境要自己搭。文档里也专门有一节讲「Sharp Bits」,列出容易踩的坑,比如 jit 下的控制流、随机数状态和类型提升规则,用之前值得先看一遍。
常见问题
JAX 收费吗?
JAX 免费使用。
用 JAX 要登录吗?
不用登录就能用。
JAX 国内能访问吗?
本站 11 月 8 日 检测,JAX 在国内可以直接访问。
JAX 有哪些平台 / App?
支持 网页。
JAX 的替代品有哪些?
本站整理了 1 个替代品,例如 PyTorch。