计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
einops【效率与协作】Use the einops Python package for readable tensor rearrangement, reductions, repetition, named-axis einsum, packing, framework layers, and repository maintenance workflows.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this repo skill when a task involves the einops Python package: readable
and shape-checked tensor manipulation, named axes, deep-learning tensor
refactors, reversible token/feature packing, optional framework layers, or
maintainer workflows for the einops repository.
Public package install:
pip install einops
einops declares no runtime dependencies. Install NumPy, PyTorch, TensorFlow,
JAX, or another tensor framework separately according to the user's project.
For a minimal core check with NumPy installed:
import numpy as np
from einops import rearrange, reduce, repeat
x = np.arange(2 * 3 * 4).reshape(2, 3, 4)
assert rearrange(x, "batch channel time -> batch time channel").shape == (2, 4, 3)
assert reduce(x, "batch channel time -> batch time", "sum").shape == (2, 4)
assert repeat(x, "batch channel time -> batch channel time copy", copy=2).shape == (2, 3, 4, 2)
For a bundled diagnostic, run
scripts/check_einops_install.py after
installing einops and, for the full smoke, numpy.
sub-skills/tensor-operations/:
use rearrange, reduce, repeat, parse_shape, and asnumpy for core
tensor shape transformations, pooling, broadcasting, stack/concatenate,
ellipsis, and pattern troubleshooting.sub-skills/named-einsum-and-packing/:
use einsum, pack, and unpack for named-axis contractions, attention-like
dot products, class-token/multimodal packing, packed-shape (PS) handling,
and reversible split/merge workflows.sub-skills/framework-integrations/:
use optional backend dispatch, Array API functions, framework layers,
EinMix, torch scripting/compilation notes, and missing optional dependency
diagnostics.sub-skills/repo-development/:
use maintainer guidance for focused tests, backend selection,
EINOPS_TEST_BACKENDS, docs/notebook checks, formatting/type checks, CI
matrix interpretation, and release/deploy boundaries.reshape, view, permute,
transpose, pooling, tiling, broadcasting, or shape parsing, start with
tensor-operations.named-einsum-and-packing and remember that einops.einsum takes
tensors first and the pattern last.pack/unpack rather than manual slices.Sequential, use
framework-integrations.repo-development instead of package-usage routes.references/repo-provenance.md: source
commit, tag, package version, evidence paths, and refresh cues.references/repo-routing-metadata.json:
structured scenario metadata for DisCo repo-skill routing if imported later.references/troubleshooting.md: cross-cutting
install/import, optional dependency, backend, and stale-skill troubleshooting.batch, channel, height, width) in
examples that explain user intent.(height h2), supply or validate lengths that
cannot be inferred safely.Read references/repo-provenance.md before deciding this skill is current for a
checkout. Refresh the repo skill if the package version, public API exports,
pattern grammar, backend list, layer modules, native test runner, docs scripts,
CI matrix, or relevant evidence paths changed since the recorded snapshot.