关键词索引

概念索引

每个概念列出相关度最高的小节(标题命中优先),最多 8 处。

追踪与 jaxpr

重新编译与编译缓存

静态参数与弱类型

控制流(cond / scan / while)

掩码与变长序列

NaN 与数值稳定

自动微分模式(jvp / vjp)

Jacobian / Hessian

自定义求导(custom_jvp / custom_vjp)

逐样本梯度

向量化 vmap

多设备与分片

pmap 与集合通信

模型并行(FSDP / 张量并行)

多主机

PyTree

随机数与 key

状态管理与优化器

梯度检查点(remat)

梯度累积

混合精度

内存与 donate

性能分析与融合

调试工具

回调与外部代码

自定义原语与 FFI

DLPack 与零拷贝

Pallas 内核

导出与部署

Flax NNX

科学计算与 PDE

本环境已知问题

API 索引

按命名空间分组;每个 API 列出讲到它的 notebook(最多 6 个,链接到首次出现的小节)。

jax.*

API出现位置
jax.Array入门 01_JAX简介 › 1.5 使用 JAX 数组;入门 02_JIT编译 › 2.7 动手实践:应用 jit;入门 05_多设备并行pmap › 5.2 介绍 jax.pmap;入门 06_状态管理 › 🧭 全课程总结与后续学习路线;进阶 01_高级变换与控制流 › 1.7 了解闭包和 JAX 暂存;进阶 02_JAX代码性能优化 › 2.4 内存布局及其对性能的影响
jax.Array.__repr__进阶 02_JAX代码性能优化 › 2.7 异步调度
jax.ShapeDtypeStruct入门 07_实战专题 › 1.5 ✅ 治理手段;进阶 05_互操作性与自定义操作 › 5.4 使用 jax.pure_callback 进行无副作用调用;进阶 07_Pallas自定义内核 › 2.1 kernel、Ref 与 out_shape;进阶 09_导出与部署 › §0 环境说明与通用工具
jax.__version__进阶 09_导出与部署 › §2.6 版本兼容性:三层版本号
jax._src.debugging进阶 08_调试工具链 › 1.1 jax.debug.print
jax.ad_checkpoint进阶 06_大规模模型训练 › 6.6 梯度检查点(再物化)
jax.ad_checkpoint.checkpoint_name进阶 06_大规模模型训练 › 🗂️ 速查表
jax.ad_checkpoint.print_saved_residuals进阶 01_高级变换与控制流 › 速查表;进阶 04_进阶自动微分 › 速查表;进阶 06_大规模模型训练 › 🗂️ 速查表;进阶 11_科学计算与可微分仿真 › 速查表
jax.ad_checkpoint.xxx进阶 06_大规模模型训练 › 6.6 梯度检查点(再物化)
jax.block_until_ready入门 02_JIT编译 › 2.7 动手实践:应用 jit;入门 07_实战专题 › 0 公共设置;进阶 02_JAX代码性能优化 › 2.7 异步调度
jax.check_tracer_leaks进阶 08_调试工具链 › 速查表
jax.checking_leaks进阶 08_调试工具链 › 目录
jax.checkpoint入门 06_状态管理 › 🧭 全课程总结与后续学习路线;进阶 01_高级变换与控制流 › 与入门课的关联;进阶 04_进阶自动微分 › 开头;进阶 06_大规模模型训练 › 开头;进阶 08_调试工具链 › 7.1 memory_analysis():运行之前就知道要多少内存;进阶 11_科学计算与可微分仿真 › 开头
jax.checkpoint_policies进阶 01_高级变换与控制流 › 速查表;进阶 06_大规模模型训练 › 6.6 梯度检查点(再物化)
jax.checkpoint_policies.dots_saveable进阶 06_大规模模型训练 › 🗂️ 速查表
jax.clear_caches入门 07_实战专题 › 2.4 用 jax_debug_nans 定位 NaN(0.12 实测行为);进阶 01_高级变换与控制流 › 1.7 了解闭包和 JAX 暂存;进阶 08_调试工具链 › 目录
jax.config入门 03_自动微分grad › 3.9 动手实践:计算梯度;进阶 08_调试工具链 › 目录
jax.config.jax_debug_nans进阶 08_调试工具链 › 6.2 检查 jax.config 的当前取值
jax.config.jax_threefry_partitionable进阶 10_随机数与分片 › 速查表
jax.config.read进阶 08_调试工具链 › 6.2 检查 jax.config 的当前取值
jax.config.update入门 01_JAX简介 › 1.2 JAX 对比 NumPy;入门 02_JIT编译 › 速查表;入门 03_自动微分grad › 3.8 局限性与注意事项;入门 07_实战专题 › 1.4 诊断手段;进阶 02_JAX代码性能优化 › 2.5 避免重复编译;进阶 03_JAX分布式计算 › 3.9 实践:分布式数据并行训练
jax.config.values进阶 08_调试工具链 › 6.2 检查 jax.config 的当前取值
jax.core进阶 05_互操作性与自定义操作 › 5.6 定义自定义原语
jax.core.ShapedArray进阶 05_互操作性与自定义操作 › 与入门课的关联
jax.core.get_aval进阶 05_互操作性与自定义操作 › 5.9 制定自定义原语的求导规则
jax.custom_jvp入门 03_自动微分grad › 3.8 局限性与注意事项;入门 07_实战专题 › 🗂️ 速查表;进阶 04_进阶自动微分 › 开头;进阶 05_互操作性与自定义操作 › 5.3 使用 jax.experimental.host_callback 调用外部 CPU/GPU 代码
jax.custom_vjp入门 03_自动微分grad › 3.8 局限性与注意事项;进阶 01_高级变换与控制流 › 练习 3:分段 softmax(图注意力的基本操作);进阶 04_进阶自动微分 › 开头;进阶 05_互操作性与自定义操作 › 5.3 使用 jax.experimental.host_callback 调用外部 CPU/GPU 代码;进阶 07_Pallas自定义内核 › 5.3 grad:默认不可微,用 custom_vjp + Pallas 反向 kernel
jax.debug.breakpoint入门 05_多设备并行pmap › 5.7 调试 pmap 化的函数;进阶 08_调试工具链 › 目录
jax.debug.callback进阶 05_互操作性与自定义操作 › 与入门课的关联;进阶 08_调试工具链 › 目录
jax.debug.inspect_array_sharding进阶 08_调试工具链 › 8 多设备:看清数组在哪、各设备算出了什么
jax.debug.log进阶 08_调试工具链 › 1.1 jax.debug.print
jax.debug.print入门 01_JAX简介 › 1.3 核心设计理念:函数变换;入门 02_JIT编译 › 2.6 jit 的常见问题;入门 03_自动微分grad › 3.8 局限性与注意事项;入门 04_自动向量化vmap › 4.2 介绍 jax.vmap;入门 05_多设备并行pmap › 5.7 调试 pmap 化的函数;入门 06_状态管理 › 6.1 函数纯粹性与副作用
jax.debug.visualize_array_sharding入门 05_多设备并行pmap › 5.4 设备网格与轴名称;进阶 03_JAX分布式计算 › 3.7 嵌套 pmap 与进阶分区;进阶 06_大规模模型训练 › 🗂️ 速查表;进阶 08_调试工具链 › 8 多设备:看清数组在哪、各设备算出了什么
jax.debug_infs进阶 08_调试工具链 › 3.1 jax_debug_nans / jax_debug_infs
jax.debug_nans进阶 04_进阶自动微分 › 4.6 使用 jax.custom_vjp 的自定义微分规则;进阶 08_调试工具链 › 3.1 jax_debug_nans / jax_debug_infs
jax.debug_nans.value进阶 08_调试工具链 › 6.2 检查 jax.config 的当前取值
jax.default_backend入门 01_JAX简介 › 速查表
jax.device_count入门 05_多设备并行pmap › 5.8 动手实践:并行计算;进阶 03_JAX分布式计算 › 3.2 JAX 中的设备管理
jax.device_get入门 01_JAX简介 › 1.6 设备管理:CPU、GPU、TPU;入门 07_实战专题 › 6.5 ❌ 常见错误与实测;进阶 02_JAX代码性能优化 › 2.7 异步调度;进阶 05_互操作性与自定义操作 › 5.1 JAX 与 NumPy 的集成
jax.device_put入门 01_JAX简介 › 1.6 设备管理:CPU、GPU、TPU;入门 05_多设备并行pmap › 5.2 介绍 jax.pmap;进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码;进阶 03_JAX分布式计算 › 3.2 JAX 中的设备管理;进阶 05_互操作性与自定义操作 › 5.1 JAX 与 NumPy 的集成;进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理
jax.device_put_replicate进阶 06_大规模模型训练 › 本章更新说明
jax.device_put_replicated入门 05_多设备并行pmap › 5.8 动手实践:并行计算;进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理
jax.device_put_sharded进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理
jax.devices入门 01_JAX简介 › 1.6 设备管理:CPU、GPU、TPU;入门 05_多设备并行pmap › 5.2 介绍 jax.pmap;进阶 03_JAX分布式计算 › 3.2 JAX 中的设备管理;进阶 08_调试工具链 › 7.1 memory_analysis():运行之前就知道要多少内存
jax.disable_jit入门 02_JIT编译 › 2.6 jit 的常见问题;入门 05_多设备并行pmap › 速查表;进阶 08_调试工具链 › 目录
jax.distributed.initialize进阶 03_JAX分布式计算 › 3.8 多主机编程简介
jax.dlpack.from_dlpack进阶 05_互操作性与自定义操作 › 与入门课的关联
jax.dlpack.is_supported_dtype进阶 05_互操作性与自定义操作 › 5.2 使用 DLPack 实现零拷贝数据共享
jax.dlpack.to_dlpack进阶 05_互操作性与自定义操作 › 5.2 使用 DLPack 实现零拷贝数据共享
jax.dtypes.float0进阶 04_进阶自动微分 › 4.2 雅可比向量积 (JVPs) 与 jax.jvp
jax.dtypes.prng_key进阶 10_随机数与分片 › 开头
jax.effects_barrier进阶 05_互操作性与自定义操作 › 5.3 使用 jax.experimental.host_callback 调用外部 CPU/GPU 代码;进阶 08_调试工具链 › 速查表
jax.enable_x64进阶 07_Pallas自定义内核 › §7 实战规则清单;进阶 11_科学计算与可微分仿真 › 1.2 float64 为什么关键
jax.errors进阶 08_调试工具链 › 目录
jax.errors.ConcretizationTypeError入门 02_JIT编译 › 速查表;进阶 08_调试工具链 › 📝 测验(6 题)
jax.errors.JAXTypeError入门 02_JIT编译 › 2.4 Python 控制流与 jit;进阶 08_调试工具链 › 4 Tracer 类错误大全
jax.errors.KeyReuseError进阶 08_调试工具链 › 9.3 隐藏的 bug 3:随机 key 复用
jax.errors.TracerBoolConversionError进阶 08_调试工具链 › 速查表
jax.eval_shape入门 07_实战专题 › 1.4 诊断手段;进阶 05_互操作性与自定义操作 › 5.7 实现抽象求值规则;进阶 09_导出与部署 › §3.3 用 jax.eval_shape 得到抽象模板
jax.experimental.checkify入门 07_实战专题 › 2.4 用 jax_debug_nans 定位 NaN(0.12 实测行为);进阶 08_调试工具链 › 3.2 jax.experimental.checkify
jax.experimental.checkify.checkify入门 07_实战专题 › 🗂️ 速查表
jax.experimental.host_callback进阶 05_互操作性与自定义操作 › 5.3 使用 jax.experimental.host_callback 调用外部 CPU/GPU 代码
jax.experimental.io_callback进阶 05_互操作性与自定义操作 › 5.3 使用 jax.experimental.host_callback 调用外部 CPU/GPU 代码
jax.experimental.jax2tf进阶 09_导出与部署 › §4.2 jax2tf 的现状
jax.experimental.jax2tf.convert进阶 09_导出与部署 › 🗂️ 速查表
jax.experimental.jet进阶 04_进阶自动微分 › 开头
jax.experimental.jet.jet进阶 04_进阶自动微分 › 速查表
jax.experimental.maps入门 05_多设备并行pmap › 5.4 设备网格与轴名称;进阶 03_JAX分布式计算 › 速查表
jax.experimental.maps.Mesh入门 05_多设备并行pmap › 5.4 设备网格与轴名称
jax.experimental.multihost_utils.process_allgather进阶 03_JAX分布式计算 › 3.8 多主机编程简介
jax.experimental.pallas进阶 07_Pallas自定义内核 › 与已学章节的关系
jax.experimental.shard_map入门 05_多设备并行pmap › 5.10 本章小结;进阶 03_JAX分布式计算 › 3.7 嵌套 pmap 与进阶分区
jax.experimental.sparse进阶 11_科学计算与可微分仿真 › 3.1 用三元组组装五点差分矩阵,与 SciPy CSR 对拍
jax.experimental.sparse.BCOO进阶 04_进阶自动微分 › 4.5 计算完整的雅可比矩阵和海森矩阵;进阶 11_科学计算与可微分仿真 › 开头
jax.experimental.sparse.linalg.spsolve进阶 11_科学计算与可微分仿真 › 3.3 BCOO + CG,以及稀疏直接求解器的现状
jax.export进阶 09_导出与部署 › 目录
jax.export.deserialize进阶 09_导出与部署 › §0 环境说明与通用工具
jax.export.export进阶 09_导出与部署 › 目录
jax.extend.core进阶 05_互操作性与自定义操作 › 5.6 定义自定义原语
jax.extend.core.ClosedJaxpr进阶 01_高级变换与控制流 › 1.7 了解闭包和 JAX 暂存;进阶 02_JAX代码性能优化 › 2.2 理解 JAX 计算图 (jaxpr)
jax.extend.core.Primitive进阶 05_互操作性与自定义操作 › 与入门课的关联
jax.extend.core.jaxpr_as_fun进阶 02_JAX代码性能优化 › 2.2 理解 JAX 计算图 (jaxpr)
jax.extend.core.jaxprs_in_params进阶 02_JAX代码性能优化 › 2.2 理解 JAX 计算图 (jaxpr)
jax.extend.mlir.dialects.stablehlo进阶 05_互操作性与自定义操作 › 5.8 为后端实现转换规则
jax.extend.mlir.dialects.stablehlo.get_current_version进阶 09_导出与部署 › 🗂️ 速查表
jax.extend.random进阶 10_随机数与分片 › 4.3 为什么不同:计数器的分配方式
jax.extend.random.threefry_2x32进阶 10_随机数与分片 › 速查表
jax.ffi进阶 05_互操作性与自定义操作 › 与入门课的关联;进阶 07_Pallas自定义内核 › 与已学章节的关系
jax.ffi.ffi_call进阶 05_互操作性与自定义操作 › 5.5 JAX 原语简介;进阶 09_导出与部署 › §4.4 用 pure_callback 把模型包成服务函数:取舍
jax.ffi.ffi_lowering进阶 05_互操作性与自定义操作 › 5.8 为后端实现转换规则
jax.ffi.include_dir进阶 05_互操作性与自定义操作 › 5.10 实践:整合 C++ 函数
jax.ffi.pycapsule进阶 05_互操作性与自定义操作 › 5.10 实践:整合 C++ 函数
jax.ffi.register_ffi_target进阶 05_互操作性与自定义操作 › 5.10 实践:整合 C++ 函数
jax.get_device入门 01_JAX简介 › 第 1 章测验
jax.grad入门 01_JAX简介 › 1.1 JAX 是什么?;入门 02_JIT编译 › 2.4 Python 控制流与 jit;入门 03_自动微分grad › 开头;入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 05_多设备并行pmap › 5.6 将 pmap 与其他变换结合使用;入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.hessian入门 03_自动微分grad › 3.3 自动微分的工作方式:反向模式;入门 07_实战专题 › 3.3 计时实验:扫描输入/输出维度;进阶 04_进阶自动微分 › 4.4 高阶导数;进阶 05_互操作性与自定义操作 › 5.4 使用 jax.pure_callback 进行无副作用调用;进阶 11_科学计算与可微分仿真 › 2.2 无矩阵(matrix-free)算子
jax.interpreters进阶 05_互操作性与自定义操作 › 与入门课的关联
jax.interpreters.ad进阶 05_互操作性与自定义操作 › 速查表;进阶 07_Pallas自定义内核 › 5.3 grad:默认不可微,用 custom_vjp + Pallas 反向 kernel
jax.interpreters.mlir进阶 05_互操作性与自定义操作 › 速查表
jax.interpreters.mlir.register_lowering进阶 05_互操作性与自定义操作 › 5.8 为后端实现转换规则
jax.interpreters.xla进阶 05_互操作性与自定义操作 › 5.8 为后端实现转换规则
jax.jacfwd入门 03_自动微分grad › 3.2 介绍 jax.grad;入门 07_实战专题 › 3.4 ❌ 常见错误:只需要 $Jv$ 却先构造 $J$;进阶 01_高级变换与控制流 › 1.1 核心转换回顾:jit, grad, vmap;进阶 04_进阶自动微分 › 4.2 雅可比向量积 (JVPs) 与 jax.jvp;进阶 09_导出与部署 › §2.5 导出可求导的函数:vjp_order;进阶 11_科学计算与可微分仿真 › 练习 2:对源项的灵敏度就是伴随解
jax.jacobian入门 03_自动微分grad › 3.2 介绍 jax.grad
jax.jacrev入门 03_自动微分grad › 3.2 介绍 jax.grad;入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 07_实战专题 › 📝 第 7 章测验;进阶 01_高级变换与控制流 › 1.1 核心转换回顾:jit, grad, vmap;进阶 04_进阶自动微分 › 4.5 计算完整的雅可比矩阵和海森矩阵
jax.jit入门 01_JAX简介 › 1.1 JAX 是什么?;入门 02_JIT编译 › 开头;入门 03_自动微分grad › 3.6 值和梯度(jax.value_and_grad);入门 04_自动向量化vmap › 4.7 vmap 的性能考量;入门 05_多设备并行pmap › 开头;入门 06_状态管理 › 6.1 函数纯粹性与副作用
jax.jvp入门 03_自动微分grad › 3.2 介绍 jax.grad;入门 07_实战专题 › 🗂️ 速查表;进阶 04_进阶自动微分 › 开头;进阶 05_互操作性与自定义操作 › 5.9 制定自定义原语的求导规则;进阶 07_Pallas自定义内核 › 测验;进阶 09_导出与部署 › §2.5 导出可求导的函数:vjp_order
jax.lax入门 02_JIT编译 › 2.4 Python 控制流与 jit;入门 03_自动微分grad › 3.8 局限性与注意事项;入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等);进阶 03_JAX分布式计算 › 3.5 集合通信原语 (psum, pmean 等);进阶 05_互操作性与自定义操作 › 5.3 使用 jax.experimental.host_callback 调用外部 CPU/GPU 代码
jax.lib.xla_client进阶 05_互操作性与自定义操作 › 5.8 为后端实现转换规则
jax.linear_transpose进阶 04_进阶自动微分 › 开头;进阶 11_科学计算与可微分仿真 › 4.2 变系数扩散算子
jax.linearize入门 07_实战专题 › 3.3 计时实验:扫描输入/输出维度;进阶 04_进阶自动微分 › 开头
jax.live_arrays进阶 08_调试工具链 › 目录
jax.local_device_count入门 05_多设备并行pmap › 5.7 调试 pmap 化的函数;进阶 03_JAX分布式计算 › 3.2 JAX 中的设备管理
jax.local_devices进阶 03_JAX分布式计算 › 3.2 JAX 中的设备管理
jax.log_compiles进阶 02_JAX代码性能优化 › 0. 环境与通用工具;进阶 08_调试工具链 › 5.1 jax_log_compiles:一次编译 = 4 条日志
jax.make_array_from_process_local_data进阶 03_JAX分布式计算 › 3.8 多主机编程简介
jax.make_jaxpr入门 01_JAX简介 › 1.1 JAX 是什么?;入门 02_JIT编译 › 2.3 JIT 工作原理:追踪与编译;入门 03_自动微分grad › 3.3 自动微分的工作方式:反向模式;入门 04_自动向量化vmap › 4.2 介绍 jax.vmap;入门 06_状态管理 › 🧭 全课程总结与后续学习路线;入门 07_实战专题 › 1.4 诊断手段
jax.make_mesh入门 05_多设备并行pmap › 5.1 数据并行 (SPMD) 介绍;进阶 03_JAX分布式计算 › 3.6 pmap 中轴名称的处理;进阶 06_大规模模型训练 › 6.4 将 pmap 与训练框架结合使用;进阶 09_导出与部署 › §2.7 含分片、shard_map、pmap 的函数怎么导出
jax.monitoring入门 07_实战专题 › 0 公共设置;进阶 08_调试工具链 › 公共设置
jax.monitoring.register_event_duration_secs_listener入门 07_实战专题 › 🗂️ 速查表;进阶 08_调试工具链 › 速查表
jax.monitoring.unregister_event_duration_listener入门 07_实战专题 › 🗂️ 速查表
jax.named_scope进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码;进阶 08_调试工具链 › 目录
jax.nn入门 03_自动微分grad › 3.8 局限性与注意事项;入门 07_实战专题 › 2.3 logsumexp / softmax / log_softmax 的稳定写法
jax.nn.log_sigmoid入门 03_自动微分grad › 补充练习
jax.nn.log_softmax入门 07_实战专题 › ★.3 损失与训练函数
jax.nn.logsumexp入门 07_实战专题 › 2.3 logsumexp / softmax / log_softmax 的稳定写法
jax.nn.relu入门 03_自动微分grad › 3.8 局限性与注意事项;进阶 04_进阶自动微分 › 4.4 高阶导数
jax.nn.sigmoid入门 03_自动微分grad › 3.8 局限性与注意事项;进阶 04_进阶自动微分 › 4.10 实践:实现自定义梯度
jax.nn.silu进阶 05_互操作性与自定义操作 › 动手练习
jax.nn.softmax入门 07_实战专题 › 🗂️ 速查表;进阶 01_高级变换与控制流 › 1.6 高级掩码技术
jax.nn.softplus进阶 04_进阶自动微分 › 4.6 使用 jax.custom_vjp 的自定义微分规则
jax.numpy入门 01_JAX简介 › 开头;入门 03_自动微分grad › 3.9 动手实践:计算梯度;入门 04_自动向量化vmap › 4.7 vmap 的性能考量;入门 06_状态管理 › 🧭 全课程总结与后续学习路线;进阶 02_JAX代码性能优化 › 2.2 理解 JAX 计算图 (jaxpr);进阶 05_互操作性与自定义操作 › 5.1 JAX 与 NumPy 的集成
jax.ops进阶 01_高级变换与控制流 › 1.6 高级掩码技术
jax.ops.segment_sum进阶 01_高级变换与控制流 › 与入门课的关联
jax.pmap入门 01_JAX简介 › 1.1 JAX 是什么?;入门 05_多设备并行pmap › 开头;入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;进阶 03_JAX分布式计算 › 开头;进阶 06_大规模模型训练 › 6.4 将 pmap 与训练框架结合使用
jax.print_environment_info入门 01_JAX简介 › 1.4 安装与设置;进阶 08_调试工具链 › 目录
jax.process_count进阶 03_JAX分布式计算 › 3.8 多主机编程简介
jax.process_index入门 05_多设备并行pmap › 5.8 动手实践:并行计算;进阶 03_JAX分布式计算 › 3.8 多主机编程简介;进阶 10_随机数与分片 › 速查表
jax.profiler入门 06_状态管理 › 🧭 全课程总结与后续学习路线;进阶 02_JAX代码性能优化 › 开头;进阶 06_大规模模型训练 › 🧭 后续学习路线;进阶 07_Pallas自定义内核 › 6.3 调优思路:块大小、算术强度与 VMEM 预算
jax.profiler.ProfileData.from_file进阶 02_JAX代码性能优化 › 速查表
jax.profiler.StepTraceAnnotation进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码
jax.profiler.TraceAnnotation进阶 02_JAX代码性能优化 › 速查表
jax.profiler.device_memory_profile进阶 08_调试工具链 › 7.2 jax.profiler.save_device_memory_profile:谁在占内存
jax.profiler.save_device_memory_profile进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码;进阶 08_调试工具链 › 7.2 jax.profiler.save_device_memory_profile:谁在占内存
jax.profiler.start_trace进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码
jax.profiler.stop_trace进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码
jax.profiler.trace进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码;进阶 08_调试工具链 › 5.5 速度慢:排查顺序
jax.pure_callback进阶 04_进阶自动微分 › 4.7 jax.custom_jvp 自定义求导规则;进阶 05_互操作性与自定义操作 › 与入门课的关联;进阶 08_调试工具链 › 1.2 jax.debug.callback;进阶 11_科学计算与可微分仿真 › 3.3 BCOO + CG,以及稀疏直接求解器的现状
jax.random入门 07_实战专题 › ★.1 数据:三臂螺旋;进阶 10_随机数与分片 › 2.2 互转与序列化:key_data / wrap_key_data 要带上 impl
jax.random.PRNGKey入门 01_JAX简介 › 1.5 使用 JAX 数组;入门 02_JIT编译 › 2.2 介绍 jax.jit;入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;进阶 01_高级变换与控制流 › 本章更新说明;进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码;进阶 03_JAX分布式计算 › 3.4 使用 pmap 实现数据并行
jax.random.bits进阶 10_随机数与分片 › 速查表
jax.random.fold_in入门 01_JAX简介 › 1.5 使用 JAX 数组;入门 06_状态管理 › 📝 第 6 章测验;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练;进阶 10_随机数与分片 › 速查表
jax.random.gumbel进阶 04_进阶自动微分 › 速查表
jax.random.key入门 01_JAX简介 › 1.4 安装与设置;入门 02_JIT编译 › 2.2 介绍 jax.jit;入门 03_自动微分grad › 3.9 动手实践:计算梯度;入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 05_多设备并行pmap › 本章更新说明;入门 06_状态管理 › 6.5 示例:有状态计数器
jax.random.key_data入门 01_JAX简介 › 1.5 使用 JAX 数组;进阶 08_调试工具链 › 9.3 隐藏的 bug 3:随机 key 复用;进阶 10_随机数与分片 › 测验
jax.random.key_impl进阶 10_随机数与分片 › 速查表
jax.random.normal入门 01_JAX简介 › 速查表;进阶 01_高级变换与控制流 › 本章更新说明;进阶 05_互操作性与自定义操作 › 本章更新说明;进阶 10_随机数与分片 › 测验
jax.random.permutation入门 01_JAX简介 › 1.7 动手练习:基本数组操作
jax.random.randint入门 01_JAX简介 › 1.7 动手练习:基本数组操作
jax.random.split入门 01_JAX简介 › 1.5 使用 JAX 数组;入门 02_JIT编译 › 2.2 介绍 jax.jit;入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 06_状态管理 › 🗂️ 速查表;入门 07_实战专题 › 🗂️ 速查表;进阶 01_高级变换与控制流 › 速查表
jax.random.uniform进阶 10_随机数与分片 › 练习
jax.random.wrap_key_data入门 01_JAX简介 › 1.5 使用 JAX 数组;进阶 10_随机数与分片 › 速查表
jax.readthedocs.io入门 01_JAX简介 › 1.1 JAX 是什么?
jax.remat进阶 01_高级变换与控制流 › 速查表;进阶 04_进阶自动微分 › 4.8 通过控制流原语求导;进阶 06_大规模模型训练 › 6.6 梯度检查点(再物化)
jax.reshard入门 05_多设备并行pmap › 速查表
jax.scipy入门 03_自动微分grad › 3.8 局限性与注意事项
jax.scipy.sparse.linalg.cg进阶 11_科学计算与可微分仿真 › 开头
jax.scipy.sparse.linalg.gmres进阶 11_科学计算与可微分仿真 › 速查表
jax.scipy.special.gammaln进阶 05_互操作性与自定义操作 › 动手练习
jax.scipy.special.logsumexp入门 03_自动微分grad › 3.8 局限性与注意事项
jax.set_mesh入门 05_多设备并行pmap › 速查表;进阶 03_JAX分布式计算 › 速查表;进阶 06_大规模模型训练 › 6.4 将 pmap 与训练框架结合使用;进阶 09_导出与部署 › §2.7 含分片、shard_map、pmap 的函数怎么导出
jax.shard_map入门 01_JAX简介 › 1.1 JAX 是什么?;入门 05_多设备并行pmap › 开头;入门 06_状态管理 › 6.7 将状态管理与变换结合;进阶 03_JAX分布式计算 › 开头;进阶 06_大规模模型训练 › 6.4 将 pmap 与训练框架结合使用
jax.sharding入门 01_JAX简介 › 1.1 JAX 是什么?;入门 06_状态管理 › 6.7 将状态管理与变换结合
jax.sharding.Mesh入门 05_多设备并行pmap › 5.4 设备网格与轴名称;进阶 03_JAX分布式计算 › 速查表
jax.sharding.reshard进阶 03_JAX分布式计算 › 3.7 嵌套 pmap 与进阶分区;进阶 06_大规模模型训练 › 🗂️ 速查表
jax.sharding.use_abstract_mesh进阶 07_Pallas自定义内核 › 6.2 compiler_params:后端专属参数
jax.stages入门 07_实战专题 › 学习目标;进阶 08_调试工具链 › 目录
jax.stages.Traced进阶 08_调试工具链 › 速查表
jax.test_util入门 03_自动微分grad › 3.8 局限性与注意事项;进阶 04_进阶自动微分 › 4.6 使用 jax.custom_vjp 的自定义微分规则
jax.test_util.check_grads入门 03_自动微分grad › 3.8 局限性与注意事项;入门 07_实战专题 › 🗂️ 速查表;进阶 04_进阶自动微分 › 4.6 使用 jax.custom_vjp 的自定义微分规则;进阶 05_互操作性与自定义操作 › 5.9 制定自定义原语的求导规则;进阶 07_Pallas自定义内核 › 速查表;进阶 08_调试工具链 › 3.1 jax_debug_nans / jax_debug_infs
jax.transfer_guard进阶 08_调试工具链 › 5.5 速度慢:排查顺序
jax.tree入门 06_状态管理 › 开头;入门 07_实战专题 › 学习目标
jax.tree.all入门 01_JAX简介 › 速查表;入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree.broadcast入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 🗂️ 速查表
jax.tree.flatten入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree.leaves入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;进阶 01_高级变换与控制流 › 速查表
jax.tree.leaves_with_path入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree.map入门 01_JAX简介 › 速查表;入门 03_自动微分grad › 3.4 关于参数求导;入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 7.4 ❌ 常见错误与实测;进阶 01_高级变换与控制流 › 速查表
jax.tree.map_with_path入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 🗂️ 速查表
jax.tree.reduce入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 🗂️ 速查表
jax.tree.static入门 07_实战专题 › 7.5 TrainState:register_dataclass 与 NamedTuple
jax.tree.structure入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;进阶 01_高级变换与控制流 › 速查表
jax.tree.transpose入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 🗂️ 速查表
jax.tree.unflatten入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_flatten入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_leaves入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 7.2 旧 → 新迁移表(0.12 实测)
jax.tree_map入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 7.2 旧 → 新迁移表(0.12 实测);进阶 03_JAX分布式计算 › 3.6 pmap 中轴名称的处理
jax.tree_reduce入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_structure入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_transpose入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_unflatten入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 7.2 旧 → 新迁移表(0.12 实测)
jax.tree_util.keystr入门 06_状态管理 › 🗂️ 速查表;入门 07_实战专题 › 🗂️ 速查表
jax.tree_util.register_dataclass入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 🗂️ 速查表
jax.tree_util.register_pytree_node_class入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util.register_static入门 07_实战专题 › 1.5 ✅ 治理手段
jax.tree_util.tree_all入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util.tree_broadcast入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util.tree_flatten入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util.tree_leaves入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util.tree_map入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;进阶 01_高级变换与控制流 › 速查表;进阶 06_大规模模型训练 › 本章更新说明
jax.tree_util.tree_map_with_path入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util.tree_multimap入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.tree_util.tree_transpose入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态
jax.typeof入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等);进阶 03_JAX分布式计算 › 开头;进阶 06_大规模模型训练 › 6.4 将 pmap 与训练框架结合使用;进阶 08_调试工具链 › 目录
jax.value_and_grad入门 01_JAX简介 › 1.3 核心设计理念:函数变换;入门 03_自动微分grad › 开头;入门 05_多设备并行pmap › 5.6 将 pmap 与其他变换结合使用;入门 06_状态管理 › 6.7 将状态管理与变换结合;进阶 06_大规模模型训练 › 6.6 梯度检查点(再物化)
jax.vjp入门 03_自动微分grad › 3.2 介绍 jax.grad;入门 07_实战专题 › 🗂️ 速查表;进阶 04_进阶自动微分 › 开头;进阶 05_互操作性与自定义操作 › 5.9 制定自定义原语的求导规则;进阶 07_Pallas自定义内核 › 动手练习;进阶 09_导出与部署 › §2.5 导出可求导的函数:vjp_order
jax.vmap入门 01_JAX简介 › 1.1 JAX 是什么?;入门 04_自动向量化vmap › 小节目录;入门 05_多设备并行pmap › 开头;入门 06_状态管理 › 6.4 使用 PyTree 管理分层状态;入门 07_实战专题 › 🗂️ 速查表;进阶 01_高级变换与控制流 › 1.1 核心转换回顾:jit, grad, vmap

lax.*

API出现位置
lax.all_gather入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等);进阶 03_JAX分布式计算 › 3.5 集合通信原语 (psum, pmean 等);进阶 06_大规模模型训练 › ✍️ 动手练习
lax.all_to_all进阶 03_JAX分布式计算 › 速查表
lax.associative_scan进阶 01_高级变换与控制流 › 1.2 精通 lax.scan 处理序列操作
lax.axis_index入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等);进阶 03_JAX分布式计算 › 3.5 集合通信原语 (psum, pmean 等);进阶 08_调试工具链 › 8.3 「多设备结果不一致」:检查副本、看每个设备的局部值
lax.axis_size入门 05_多设备并行pmap › 速查表
lax.broadcasted_iota进阶 07_Pallas自定义内核 › 速查表
lax.cond入门 02_JIT编译 › 开头;入门 03_自动微分grad › 3.7 求导与控制流;入门 04_自动向量化vmap › 4.2 介绍 jax.vmap;入门 05_多设备并行pmap › 5.7 调试 pmap 化的函数;进阶 01_高级变换与控制流 › 与入门课的关联;进阶 02_JAX代码性能优化 › 2.2 理解 JAX 计算图 (jaxpr)
lax.custom_linear_solve进阶 11_科学计算与可微分仿真 › 开头
lax.custom_root进阶 11_科学计算与可微分仿真 › 开头
lax.dynamic_slice进阶 08_调试工具链 › 4 Tracer 类错误大全
lax.fori_loop入门 02_JIT编译 › 2.4 Python 控制流与 jit;入门 03_自动微分grad › 3.7 求导与控制流;入门 04_自动向量化vmap › 4.7 vmap 的性能考量;入门 06_状态管理 › 6.5 示例:有状态计数器;入门 07_实战专题 › 练习 3:牛顿-CG——只用 HVP 做二阶优化;进阶 01_高级变换与控制流 › 1.4 使用 lax.while_loop 进行循环
lax.linalg.tridiagonal_solve进阶 11_科学计算与可微分仿真 › 6.1 显式与 Crank–Nicolson 格式
lax.map入门 04_自动向量化vmap › 4.6 结合 vmap 与 jit 和 grad;入门 07_实战专题 › 4.2 vmap(grad) 与循环实现对拍;进阶 02_JAX代码性能优化 › 2.8 实践:优化数值计算——两两距离矩阵;进阶 10_随机数与分片 › 4.5 「随机数不保证跨版本一致」,以及第 1 章的 10.81
lax.optimization_barrier进阶 02_JAX代码性能优化 › 2.6 算子合并与操作优化
lax.p进阶 06_大规模模型训练 › 6.8 模型并行策略
lax.pcast入门 05_多设备并行pmap › 速查表
lax.pmax入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等)
lax.pmean入门 05_多设备并行pmap › 开头;入门 06_状态管理 › 6.7 将状态管理与变换结合;进阶 03_JAX分布式计算 › 3.6 pmap 中轴名称的处理;进阶 06_大规模模型训练 › 开头
lax.pmin入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等)
lax.ppermute入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等);进阶 03_JAX分布式计算 › 3.5 集合通信原语 (psum, pmean 等);进阶 06_大规模模型训练 › 6.8 模型并行策略
lax.psum入门 04_自动向量化vmap › 速查表;入门 05_多设备并行pmap › 开头;入门 06_状态管理 › 6.7 将状态管理与变换结合;进阶 03_JAX分布式计算 › 3.6 pmap 中轴名称的处理;进阶 06_大规模模型训练 › 6.8 模型并行策略
lax.psum_scatter进阶 03_JAX分布式计算 › 速查表
lax.scan入门 02_JIT编译 › 2.4 Python 控制流与 jit;入门 03_自动微分grad › 3.7 求导与控制流;入门 04_自动向量化vmap › 4.7 vmap 的性能考量;入门 06_状态管理 › 开头;入门 07_实战专题 › 4.5 DP-SGD:裁剪 + 加噪的完整实现;进阶 01_高级变换与控制流 › 与入门课的关联
lax.select_n进阶 01_高级变换与控制流 › 与入门课的关联
lax.stop_gradient入门 03_自动微分grad › 3.8 局限性与注意事项;入门 07_实战专题 › 2.3 logsumexp / softmax / log_softmax 的稳定写法;进阶 04_进阶自动微分 › 4.2 雅可比向量积 (JVPs) 与 jax.jvp
lax.switch入门 02_JIT编译 › 2.4 Python 控制流与 jit;进阶 01_高级变换与控制流 › 与入门课的关联;进阶 02_JAX代码性能优化 › 2.2 理解 JAX 计算图 (jaxpr);进阶 04_进阶自动微分 › 4.8 通过控制流原语求导
lax.top_k入门 07_实战专题 › ★.6 逐样本梯度:找出 top-5「难样本」;进阶 04_进阶自动微分 › 4.9 处理不可微分函数
lax.while_loop入门 02_JIT编译 › 2.4 Python 控制流与 jit;入门 03_自动微分grad › 3.7 求导与控制流;入门 04_自动向量化vmap › 4.7 vmap 的性能考量;进阶 01_高级变换与控制流 › 与入门课的关联;进阶 02_JAX代码性能优化 › 2.5 避免重复编译;进阶 04_进阶自动微分 › 4.8 通过控制流原语求导
lax.with_sharding_constraint进阶 03_JAX分布式计算 › 3.7 嵌套 pmap 与进阶分区

jnp.*

API出现位置
jnp.abs入门 03_自动微分grad › 3.8 局限性与注意事项
jnp.add进阶 05_互操作性与自定义操作 › 5.5 JAX 原语简介
jnp.allclose入门 03_自动微分grad › 3.2 介绍 jax.grad;进阶 01_高级变换与控制流 › 1.1 核心转换回顾:jit, grad, vmap
jnp.arange入门 01_JAX简介 › 1.7 动手练习:基本数组操作;进阶 03_JAX分布式计算 › 3.7 嵌套 pmap 与进阶分区;进阶 05_互操作性与自定义操作 › 5.10 实践:整合 C++ 函数;进阶 08_调试工具链 › 4 Tracer 类错误大全;进阶 11_科学计算与可微分仿真 › 1.2 float64 为什么关键
jnp.array入门 01_JAX简介 › 1.2 JAX 对比 NumPy;入门 02_JIT编译 › 2.3 JIT 工作原理:追踪与编译;入门 06_状态管理 › 6.5 示例:有状态计数器;进阶 05_互操作性与自定义操作 › 5.1 JAX 与 NumPy 的集成
jnp.asarray入门 01_JAX简介 › 1.2 JAX 对比 NumPy;入门 07_实战专题 › 1.5 ✅ 治理手段;进阶 05_互操作性与自定义操作 › 5.1 JAX 与 NumPy 的集成;进阶 08_调试工具链 › 4 Tracer 类错误大全
jnp.bfloat16进阶 06_大规模模型训练 › 6.7 混合精度训练
jnp.bincount入门 01_JAX简介 › 1.7 动手练习:基本数组操作
jnp.broadcast_to进阶 03_JAX分布式计算 › 速查表
jnp.ceil入门 03_自动微分grad › 3.8 局限性与注意事项
jnp.clip进阶 04_进阶自动微分 › 4.7 jax.custom_jvp 自定义求导规则
jnp.cos进阶 02_JAX代码性能优化 › 2.2 理解 JAX 计算图 (jaxpr)
jnp.dot入门 01_JAX简介 › 1.5 使用 JAX 数组;入门 04_自动向量化vmap › 4.1 向量化的原理;进阶 01_高级变换与控制流 › 1.7 了解闭包和 JAX 暂存;进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码;进阶 05_互操作性与自定义操作 › 5.5 JAX 原语简介;进阶 06_大规模模型训练 › 6.7 混合精度训练
jnp.einsum入门 04_自动向量化vmap › 4.5 嵌套 vmap;进阶 02_JAX代码性能优化 › 2.4 内存布局及其对性能的影响
jnp.exp入门 01_JAX简介 › 1.5 使用 JAX 数组
jnp.finfo入门 07_实战专题 › 2.3 logsumexp / softmax / log_softmax 的稳定写法;进阶 01_高级变换与控制流 › 1.6 高级掩码技术;进阶 06_大规模模型训练 › 6.7 混合精度训练
jnp.float16进阶 06_大规模模型训练 › 6.7 混合精度训练
jnp.float32入门 02_JIT编译 › 练习 3:重新编译侦探;入门 07_实战专题 › 练习 1:给服务函数写编译预算测试;进阶 02_JAX代码性能优化 › 2.5 避免重复编译
jnp.floor入门 03_自动微分grad › 3.8 局限性与注意事项
jnp.full入门 02_JIT编译 › 2.3 JIT 工作原理:追踪与编译
jnp.int32进阶 01_高级变换与控制流 › 1.2 精通 lax.scan 处理序列操作
jnp.issubdtype进阶 10_随机数与分片 › 速查表
jnp.linalg.norm入门 03_自动微分grad › 3.8 局限性与注意事项;入门 04_自动向量化vmap › 4.1 向量化的原理;进阶 04_进阶自动微分 › 补充练习 D:在 0 处安全的向量范数(custom_jvp);进阶 08_调试工具链 › 3.1 jax_debug_nans / jax_debug_infs
jnp.linalg.solve进阶 11_科学计算与可微分仿真 › 3.3 BCOO + CG,以及稀疏直接求解器的现状
jnp.linspace入门 01_JAX简介 › 1.7 动手练习:基本数组操作
jnp.log入门 03_自动微分grad › 3.8 局限性与注意事项;入门 07_实战专题 › 📝 第 7 章测验;进阶 04_进阶自动微分 › 4.10 实践:实现自定义梯度
jnp.logaddexp进阶 04_进阶自动微分 › 4.4 高阶导数
jnp.matmul进阶 02_JAX代码性能优化 › 2.4 内存布局及其对性能的影响;进阶 03_JAX分布式计算 › 测验;进阶 06_大规模模型训练 › 🗂️ 速查表
jnp.max入门 01_JAX简介 › 1.7 动手练习:基本数组操作
jnp.maximum进阶 02_JAX代码性能优化 › 2.8 实践:优化数值计算——两两距离矩阵
jnp.mean入门 01_JAX简介 › 1.7 动手练习:基本数组操作;入门 05_多设备并行pmap › 5.9 第 5 章测验;入门 06_状态管理 › 🏋️ 补充练习(含参考答案);进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码;进阶 06_大规模模型训练 › ✍️ 动手练习
jnp.nonzero进阶 08_调试工具链 › 4 Tracer 类错误大全;进阶 09_导出与部署 › §2.3 形状多态:一次导出,适配任意 batch
jnp.ones入门 01_JAX简介 › 1.6 设备管理:CPU、GPU、TPU;进阶 03_JAX分布式计算 › 3.2 JAX 中的设备管理;进阶 08_调试工具链 › 5.1 jax_log_compiles:一次编译 = 4 条日志
jnp.pad进阶 11_科学计算与可微分仿真 › 2.2 无矩阵(matrix-free)算子
jnp.promote_types进阶 07_Pallas自定义内核 › 5.3 grad:默认不可微,用 custom_vjp + Pallas 反向 kernel
jnp.randn进阶 01_高级变换与控制流 › 本章更新说明
jnp.reshape入门 01_JAX简介 › 速查表
jnp.roll进阶 11_科学计算与可微分仿真 › 2.2 无矩阵(matrix-free)算子
jnp.round入门 03_自动微分grad › 3.8 局限性与注意事项
jnp.select入门 02_JIT编译 › 练习 1:分段函数(lax.switch / jnp.select);进阶 01_高级变换与控制流 › 练习 4:用 lax.switch 写一个分段函数,并说明它在 vmap 下的代价
jnp.sign入门 03_自动微分grad › 3.8 局限性与注意事项
jnp.sin入门 01_JAX简介 › 1.5 使用 JAX 数组;入门 03_自动微分grad › 第 3 章测验;进阶 02_JAX代码性能优化 › 2.1 在 CPU、GPU 和 TPU 上分析 JAX 代码
jnp.sqrt入门 02_JIT编译 › 练习 2:用 lax.while_loop 实现牛顿法开平方;入门 03_自动微分grad › 3.8 局限性与注意事项;进阶 01_高级变换与控制流 › 练习 2:可以反向求导的「有上限的 while」——牛顿法开平方;进阶 04_进阶自动微分 › 4.7 jax.custom_jvp 自定义求导规则
jnp.stack入门 04_自动向量化vmap › 4.9 第 4 章测验
jnp.sum入门 01_JAX简介 › 1.7 动手练习:基本数组操作;入门 02_JIT编译 › 2.7 动手实践:应用 jit;入门 03_自动微分grad › 补充练习;入门 05_多设备并行pmap › 5.5 集体操作(lax.psum、lax.pmean 等);进阶 05_互操作性与自定义操作 › 动手练习;进阶 07_Pallas自定义内核 › 测验
jnp.tensordot入门 07_实战专题 › 🗂️ 速查表
jnp.transpose进阶 02_JAX代码性能优化 › 开头
jnp.var入门 06_状态管理 › 🏋️ 补充练习(含参考答案)
jnp.vectorize入门 04_自动向量化vmap › 4.8 动手实践:函数向量化
jnp.where入门 01_JAX简介 › 1.5 使用 JAX 数组;入门 02_JIT编译 › 2.4 Python 控制流与 jit;入门 03_自动微分grad › 3.7 求导与控制流;入门 04_自动向量化vmap › 4.2 介绍 jax.vmap;入门 05_多设备并行pmap › 5.7 调试 pmap 化的函数;入门 07_实战专题 › 2.1 问题动机
jnp.zeros入门 01_JAX简介 › 1.7 动手练习:基本数组操作;进阶 01_高级变换与控制流 › 1.2 精通 lax.scan 处理序列操作;进阶 08_调试工具链 › 4 Tracer 类错误大全
jnp.zeros_like进阶 04_进阶自动微分 › 4.2 雅可比向量积 (JVPs) 与 jax.jvp

nnx.*

API出现位置
nnx.BatchStat进阶 06_大规模模型训练 › 开头
nnx.Dict进阶 06_大规模模型训练 › 6.2 JAX 生态系统库(Flax, Haiku)简介
nnx.Dropout进阶 10_随机数与分片 › 速查表
nnx.Linear进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理
nnx.List进阶 06_大规模模型训练 › 6.2 JAX 生态系统库(Flax, Haiku)简介
nnx.Module进阶 06_大规模模型训练 › 开头
nnx.Optimizer进阶 06_大规模模型训练 › 开头
nnx.Param进阶 06_大规模模型训练 › 开头;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练
nnx.RngState进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练
nnx.Rngs进阶 06_大规模模型训练 › 开头;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练;进阶 10_随机数与分片 › 开头
nnx.State进阶 09_导出与部署 › §5 综合实践:训练 → checkpoint → 导出 → 全新子进程独立推理
nnx.Variable进阶 06_大规模模型训练 › 6.2 JAX 生态系统库(Flax, Haiku)简介;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练
nnx.eval_shape进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理;进阶 09_导出与部署 › 目录
nnx.get_partition_spec进阶 06_大规模模型训练 › 6.4 将 pmap 与训练框架结合使用
nnx.grad入门 06_状态管理 › 🔍 补充:生态库如何管理状态 —— Optax 与 Flax;进阶 06_大规模模型训练 › 6.2 JAX 生态系统库(Flax, Haiku)简介
nnx.jit入门 06_状态管理 › 🔍 补充:生态库如何管理状态 —— Optax 与 Flax;进阶 06_大规模模型训练 › 开头;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练;进阶 10_随机数与分片 › 5.7 dropout 的 key 管理,以及 Flax nnx.Rngs 的设计
nnx.logical_axis_rules进阶 06_大规模模型训练 › 6.8 模型并行策略
nnx.merge入门 06_状态管理 › 🔍 补充:生态库如何管理状态 —— Optax 与 Flax;进阶 06_大规模模型训练 › 6.2 JAX 生态系统库(Flax, Haiku)简介;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练
nnx.remat进阶 06_大规模模型训练 › 6.2 JAX 生态系统库(Flax, Haiku)简介
nnx.replace_by_pure_dict进阶 09_导出与部署 › 🗂️ 速查表
nnx.scan进阶 06_大规模模型训练 › 6.6 梯度检查点(再物化)
nnx.split入门 06_状态管理 › 🔍 补充:生态库如何管理状态 —— Optax 与 Flax;进阶 06_大规模模型训练 › 开头;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练
nnx.state进阶 06_大规模模型训练 › 6.2 JAX 生态系统库(Flax, Haiku)简介;进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练
nnx.to_pure_dict进阶 06_大规模模型训练 › 🗂️ 速查表;进阶 09_导出与部署 › 🗂️ 速查表
nnx.update进阶 06_大规模模型训练 › 🗂️ 速查表;进阶 09_导出与部署 › 目录
nnx.value_and_grad进阶 06_大规模模型训练 › 🗂️ 速查表
nnx.vmap进阶 06_大规模模型训练 › 6.6 梯度检查点(再物化)
nnx.with_partitioning进阶 06_大规模模型训练 › 开头

optax.*

API出现位置
optax.MultiSteps进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理
optax.adafactor进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.adam入门 07_实战专题 › 🗂️ 速查表;进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理
optax.adamw入门 07_实战专题 › 🗂️ 速查表;进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.apply_if_finite进阶 06_大规模模型训练 › 6.7 混合精度训练
optax.chain入门 06_状态管理 › 🔍 补充:生态库如何管理状态 —— Optax 与 Flax;入门 07_实战专题 › 🗂️ 速查表;进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理
optax.clip_by_global_norm进阶 03_JAX分布式计算 › 动手练习;进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.contrib进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.lamb进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.lars进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.lbfgs进阶 11_科学计算与可微分仿真 › 5.2 用 Optax 的 L-BFGS 优化
optax.lion入门 07_实战专题 › 学习目标;进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.sgd进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.skip_not_finite进阶 06_大规模模型训练 › 6.7 混合精度训练
optax.sm3进阶 06_大规模模型训练 › 6.9 大规模优化算法
optax.value_and_grad_from_state进阶 11_科学计算与可微分仿真 › 5.2 用 Optax 的 L-BFGS 优化
optax.warmup_cosine_decay_schedule进阶 06_大规模模型训练 › 6.3 模型参数和状态的处理

ocp.*

API出现位置
ocp.CheckpointManager进阶 09_导出与部署 › §3.2 CheckpointManager:多步保存与保留策略
ocp.StandardCheckpointer进阶 09_导出与部署 › §3.1 基础回顾(详见进阶/06 §6.3)
ocp.args.Composite进阶 09_导出与部署 › §3.4 与 Flax NNX 配合:保存、恢复、继续训练
ocp.checkpoint_managers.AnyPreservationPolicy进阶 09_导出与部署 › 🗂️ 速查表

pl.*

API出现位置
pl.BlockSpec进阶 07_Pallas自定义内核 › 速查表
pl.CostEstimate进阶 07_Pallas自定义内核 › 速查表
pl.InterpretParams进阶 07_Pallas自定义内核 › §0 探针:确认 0.12 的 Pallas API
pl.cdiv进阶 07_Pallas自定义内核 › 3.2 越界的块:读到的是「垃圾」,interpret 模式下是 NaN
pl.debug_print进阶 07_Pallas自定义内核 › 3.4 TPU 模拟器能多查出哪些问题
pl.load进阶 07_Pallas自定义内核 › §0 探针:确认 0.12 的 Pallas API
pl.num_programs进阶 07_Pallas自定义内核 › 与已学章节的关系
pl.pallas_call进阶 07_Pallas自定义内核 › 与已学章节的关系
pl.program_id进阶 07_Pallas自定义内核 › 与已学章节的关系
pl.squeezed进阶 07_Pallas自定义内核 › 速查表
pl.store进阶 07_Pallas自定义内核 › §0 探针:确认 0.12 的 Pallas API

checkify.*

API出现位置
checkify.all_checks进阶 08_调试工具链 › 3.2 jax.experimental.checkify
checkify.check进阶 08_调试工具链 › 3.2 jax.experimental.checkify
checkify.checkify进阶 08_调试工具链 › 速查表
checkify.debug_check进阶 08_调试工具链 › 3.2 jax.experimental.checkify
checkify.div_checks进阶 08_调试工具链 › 3.2 jax.experimental.checkify
checkify.float_checks进阶 08_调试工具链 › 3.2 jax.experimental.checkify
checkify.index_checks进阶 08_调试工具链 › 3.2 jax.experimental.checkify
checkify.nan_checks进阶 08_调试工具链 › 3.2 jax.experimental.checkify
checkify.user_checks进阶 08_调试工具链 › 3.2 jax.experimental.checkify

sparse.*

API出现位置
sparse.BCOO进阶 11_科学计算与可微分仿真 › 速查表
sparse.BCOO.from_scipy_sparse进阶 11_科学计算与可微分仿真 › 速查表
sparse.BCSR.from_bcoo进阶 11_科学计算与可微分仿真 › 速查表
sparse.grad进阶 11_科学计算与可微分仿真 › 3.2 sparse.sparsify:让「稠密写法」的函数接受稀疏矩阵
sparse.linalg.lobpcg_standard进阶 11_科学计算与可微分仿真 › 3.3 BCOO + CG,以及稀疏直接求解器的现状
sparse.linalg.spsolve进阶 11_科学计算与可微分仿真 › 3.3 BCOO + CG,以及稀疏直接求解器的现状
sparse.sparsify进阶 11_科学计算与可微分仿真 › 3.2 sparse.sparsify:让「稠密写法」的函数接受稀疏矩阵