brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
diagnostics-and-serializationUse Equinox serialization, runtime errors, debug tools, pretty printing, enumerations, and progress meters.
Independent GitHub snapshot · Automated classification · Original documentation governs
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.