计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
nn-and-state【效率与协作】Use Equinox neural-network layers, Sequential models, stateful layers, and inference mode.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill for equinox.nn layers and stateful model workflows.
eqx.nn.Linear, MLP, Sequential,
Conv*, MultiheadAttention, Embedding, pooling, RNN cells, or
normalization layers.Dropout, BatchNorm, SpectralNorm, WeightNorm,
inference_mode, or explicit PRNG key handling.eqx.nn.State, StateIndex, make_with_state,
delete_init_state, or a custom stateful layer.eqx.nn.Shared.filter_grad, Optax, and
apply_updates.../module-and-trees/ for raw eqx.Module field design, tree surgery,
filtering, and optimizer parameter selection.../filtered-transformations/ when the dominant issue is JIT, AD, vmap,
pmap, callbacks, or sharding.../diagnostics-and-serialization/ for saving/loading, runtime errors,
debug tracing, or pretty printing.../internal-advanced/ for semi-public internal loops and primitives.references/nn-and-state.md for layer families, stateful workflows,
single-example calling rules, and training-step patterns.references/troubleshooting.md for BatchNorm, stale State, dropout,
Sequential, and shared-weight failures.../../references/api-reference.md for cross-skill signatures.equinox.nn layers consume one example. Use jax.vmap or
eqx.filter_vmap around layer calls for batches.Sequential for ordered layers. Wrap activation functions with
eqx.nn.Lambda when they live inside Sequential.eqx.nn.make_with_state(ModelClass) and
thread the returned State through every call.eqx.nn.inference_mode(model, value=True).eqx.nn.Shared for intentional tied weights instead of relying on object
identity in a PyTree.filtered-transformations and
module-and-trees.From the generated skill root (set EQUINOX_SKILL_ROOT to its absolute path),
run:
cd "$EQUINOX_SKILL_ROOT" && python scripts/smoke.py --mode nn
This validates tiny MLP, Sequential, custom state, and Shared examples.
It does not run expensive training or download datasets.
This sub-skill distills Equinox's built-in layer, state, and sharing workflows into the bundled references and smoke helper. The source repository's tests, docs, and notebooks were construction evidence only, not runtime dependencies.
BatchNorm must run inside a vmap or pmap with a matching axis_name for
training statistics.State.set and State.update return a new state and invalidate the old one.MLP(..., scan=True) changes the internal representation for compile-time
reasons; do not call the scanned hidden layer stack directly.Shared requires matching source/destination structure, shapes, and dtypes.