借助 Autograd 的更新版本,JAX 可以自动区分原生 Python 和 NumPy 函数。 它可以通过循环、分支、递归和闭包进行微分,并且可以取导数的导数的导数。 它支持通过 grad 进行反向模式微分(又名反向传播)以及前向模式微分,并且两者可以任意组合成任何顺序。 新的是 JAX 使用 XLA 在 GPU 和 TPU 上编译和运行您的 NumPy 程序。 默认情况下,编译发生在幕后,库调用会及时编译和执行。 但是 JAX 还允许您使用单函数 API jit 将自己的 Python 函数及时编译到 XLA 优化的内核中。 编译和自动微分可以任意组合,所以你可以在不离开 Python 的情况下表达复杂的算法并获得最大的性能。
2021-08-07 14:06:54
9.75MB
开源软件
1