协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
diagnostics-and-serialization【开发与工程】Use Equinox serialization, runtime errors, debug tools, pretty printing, enumerations, and progress meters.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill for saving/loading PyTrees, runtime checks, debugging JAX transforms, pretty-printing modules, enumerations, progress meters, and cache maintenance.
tree_serialise_leaves, tree_deserialise_leaves, or custom
serialization filter specs.error_if or branched_error_if.tree_pformat, tree_pprint, Enumeration, clear_caches,
or progress meter utilities.../module-and-trees/ for model field definitions, PyTree partitioning,
tree_at, or tree_check as model-construction tools.../filtered-transformations/ when the main task is compiling,
differentiating, vmapping, pmapping, or sharding a mixed PyTree.../nn-and-state/ for layers, training/evaluation state, dropout,
BatchNorm, or tied weights.../internal-advanced/ for equinox.internal loops, primitive helpers,
or noinline.references/diagnostics-and-serialization.md for patterns and API usage.references/troubleshooting.md for serialization, runtime error, debug, and
optional dependency failures.../../references/troubleshooting.md for cross-cutting install/backend notes.tree_serialise_leaves to write serializable leaves and
tree_deserialise_leaves with the like-tree to restore them.eqx.error_if or
eqx.branched_error_if instead of ordinary Python exceptions.eqx.debug.backward_nan,
eqx.debug.assert_max_traces, jax.debug.print, and targeted environment
variables.tree_pformat/tree_pprint for readable module and shape diagnostics.From the generated skill root (set EQUINOX_SKILL_ROOT to its absolute path),
run:
cd "$EQUINOX_SKILL_ROOT" && python scripts/smoke.py --mode diagnostics
This validates a tiny leaf serialization round-trip, a false runtime-error branch, pretty printing, and trace counting.
This sub-skill distills Equinox's serialization, runtime-error, and diagnostics workflows into the bundled references and smoke helper. The source repository's tests and docs were construction evidence only, not runtime dependencies.
eqx.error_if can raise from within JIT/lax regions, but JAX may wrap the
visible error text.EQX_ON_ERROR for breakpoint-mode runtime-error debugging; on_error=
is a per-call override, but breakpoint is safest via the environment
variable.error_if/branched_error_if in the computation;
if you drop it, JAX can dead-code-eliminate the check.tqdm is optional and only needed for the tqdm progress meter.tf2onnx issue.