Equimo 2.8.0__tar.gz → 2.8.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {equimo-2.8.0 → equimo-2.8.1}/CHANGELOG.md +7 -0
- {equimo-2.8.0 → equimo-2.8.1}/PKG-INFO +2 -2
- equimo-2.8.0/pyproject.toml.orig → equimo-2.8.1/pyproject.toml +3 -3
- equimo-2.8.1/src/equimo/__init__.py +1 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/implicit/EGM.md +5 -2
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/EGM.md +2 -2
- equimo-2.8.0/pyproject.toml +0 -136
- equimo-2.8.0/src/equimo/__init__.py +0 -1
- {equimo-2.8.0 → equimo-2.8.1}/LICENSE.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/Apache-2.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/README.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/ast-BSD-3-Clause.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/convnext-Apache-2.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/convnextv2-CC-BY-NC-4.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/dinov2-Apache-2.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/dinov3-License.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/eupe-FAIR-Noncommercial-Research-License.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/lingbot-vision-Apache-2.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/sam-License.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/siglip2-Apache-2.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/t0-alpha-Apache-2.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/tabpfn-3-License-v1.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/tips-CC-BY-4.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/LICENSES/tfc-t0-APACHE-2.0.txt +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/NOTICE +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/README.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/docs/licensing/sam3-provenance.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/docs/licensing/t0-source-provenance.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/docs/migration-v2.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/docs/stability.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/docs/timeseries.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/models/huggingface/NOTICE +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/models/huggingface/README.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/models/huggingface/convnext-conversion.json +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/_checkpoint_limits.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/_io.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/_legacy_layouts.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/_pretrained.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/io.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/layers/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/layers/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/layers/patch.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/models/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/models/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/audio/models/ast.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/catalog.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/conversion/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/conversion/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/conversion/utils.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/_prng.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/emamodel.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/factory.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/implicit/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/implicit/_base.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/implicit/deq.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/implicit/injectors.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/implicit/stabilizers.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/implicit/strategies.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/intermediates.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/_apply.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/_registry.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/activation.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/attention.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/dropout.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/ffn.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/generic.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/mamba.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/norm.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/layers/rotary.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/ops/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/ops/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/ops/probability.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/ops/scan.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/parameters.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/core/tags.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/_blocks.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/_serialization_codecs.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/_typing.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/audio/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/audio/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/audio/recipes.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/audio/selectors.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/calibration.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/config.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/continued_ssl.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/feature_extraction.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/heads.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/inspection.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/labels.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/language/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/language/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/language/recipes.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/language/selectors.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/masks.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/merging.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/paths.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/_common.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/_compat.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/adapters.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/base.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/bitfit.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/dora.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/ia3.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/lora.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/prefix.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/prompts.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/scale_shift.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/peft/vera.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/pooling.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/recipes.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/regularization.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/selectors.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/serialization.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/surgery.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/tags.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/vision/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/vision/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/vision/dense.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/vision/eomt.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/finetune/vision/pmt.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/language/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/language/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/language/data/bpe_simple_vocab_16e6.txt.gz +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/language/models.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/language/tokenizers.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/registry.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/serialization.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/attention.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/blocks.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/decoder.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/mlp.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/preprocessing.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/layers/registry.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/models/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/models/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/tabular/models/tabpfn.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/layers/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/layers/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/layers/axis_attn.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/layers/blocks.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/layers/patch_encoder.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/layers/registry.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/layers/residual_mlp.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/models/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/models/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/timeseries/models/t0.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/utils.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/_encoder_identity.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/io.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/attention.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/convolution.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/downsample.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/patch.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/posemb.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/registry.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/squeeze_excite.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/layers/wavelet.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/_embedding.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/_features.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/attnet.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/convnext.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/deq.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/eomt.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/fastervit.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/iformer.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/lowformer.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/mlla.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/mobilenet.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/parcae.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/partialformer.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/pmd.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/pmt.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/reduceformer.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/decoding.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/detector.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/encoder.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/interactive.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/model.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/tracker.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/sam3/video.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/shvit.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/vit.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/models/vssd.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/ops.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/pmt_checkpoint.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/query_training/EGM.md +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/query_training/__init__.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/query_training/_assignment.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/query_training/_loss.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/query_training/_sampling.py +0 -0
- {equimo-2.8.0 → equimo-2.8.1}/src/equimo/vision/segmentation.py +0 -0
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Equimo are documented here. Equimo follows Semantic Versioning from version 2.0.0 onward.
|
|
4
4
|
|
|
5
|
+
## [2.8.1] - 2026-11-11
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- DEQ models run in bfloat16. Equimo now requires banax 0.1.5, whose fixed-point solvers keep their convergence errors
|
|
10
|
+
in float32 instead of failing on a dtype change inside the solver loop.
|
|
11
|
+
|
|
5
12
|
## [2.8.0] - 2026-11-10
|
|
6
13
|
|
|
7
14
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Equimo
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.1
|
|
4
4
|
Summary: Implementation of modern multimodal models in JAX/Equinox
|
|
5
5
|
License-Expression: MIT AND Apache-2.0
|
|
6
6
|
License-File: LICENSE.md
|
|
@@ -27,7 +27,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
27
27
|
Classifier: Programming Language :: Python :: 3.12
|
|
28
28
|
Classifier: Programming Language :: Python :: 3.13
|
|
29
29
|
Classifier: Programming Language :: Python :: 3.14
|
|
30
|
-
Requires-Dist: banax>=0.1.
|
|
30
|
+
Requires-Dist: banax>=0.1.5
|
|
31
31
|
Requires-Dist: einops>=0.8.0
|
|
32
32
|
Requires-Dist: equinox>=0.13.3
|
|
33
33
|
Requires-Dist: jax>=0.11.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "Equimo"
|
|
3
|
-
version = "2.8.
|
|
3
|
+
version = "2.8.1"
|
|
4
4
|
description = "Implementation of modern multimodal models in JAX/Equinox"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12,<3.15"
|
|
@@ -25,7 +25,7 @@ license-files = [
|
|
|
25
25
|
"LICENSES/tfc-t0-APACHE-2.0.txt",
|
|
26
26
|
]
|
|
27
27
|
dependencies = [
|
|
28
|
-
"banax>=0.1.
|
|
28
|
+
"banax>=0.1.5",
|
|
29
29
|
"einops>=0.8.0",
|
|
30
30
|
"equinox>=0.13.3",
|
|
31
31
|
"jax>=0.11.1",
|
|
@@ -96,7 +96,7 @@ wheel-exclude = ["EGM.md"]
|
|
|
96
96
|
|
|
97
97
|
[dependency-groups]
|
|
98
98
|
dev = [
|
|
99
|
-
"jax2onnx>=0.
|
|
99
|
+
"jax2onnx>=0.19.0",
|
|
100
100
|
"mdformat==1.0.0",
|
|
101
101
|
"mdformat-footnote==0.1.3",
|
|
102
102
|
"mdformat-gfm==1.0.0",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.8.1"
|
|
@@ -116,9 +116,12 @@ Re-exported by `equimo.core.implicit` ([`__init__.py`](./__init__.py)): `DEQBloc
|
|
|
116
116
|
`key=jr.PRNGKey(42)` is created once, at import time.
|
|
117
117
|
- `[deq.py:DEQCell.__init__]`: the default `strategy=EntryInjection()` is a single instance created at import and shared
|
|
118
118
|
by every caller that uses the default.
|
|
119
|
-
- `[deq.py:DEQBlock]`: depends on the external `banax` package
|
|
119
|
+
- `[deq.py:DEQBlock]`: depends on the external `banax` package, at least 0.1.5, whose solvers keep their convergence
|
|
120
|
+
errors in float32, so a bfloat16 `DEQBlock` solves and compares `tol` in float32. There is no I/O, printing or host
|
|
121
|
+
callback.
|
|
120
122
|
|
|
121
123
|
## Verification
|
|
122
124
|
|
|
123
125
|
- Run: `devenv shell -- uv run pytest tests/test_implicit.py -q`
|
|
124
|
-
- `tests/test_implicit.py` has no low-precision case.
|
|
126
|
+
- `tests/test_implicit.py` has no low-precision case. The `deq` model case runs `DEQ` in bfloat16 against float32:
|
|
127
|
+
`devenv shell -- uv run pytest tests/finetune/test_feature_spec_model_coverage.py -k deq -q`.
|
|
@@ -201,7 +201,7 @@ shared core layers (activation, dropout, FFN, generic, Mamba mixer, norm) so mod
|
|
|
201
201
|
`[posemb.py:VisionRoPE]`, `[posemb.py:PosEmbMLPSwinv2D]`
|
|
202
202
|
- `[posemb.py:_static_table]` evaluates those tables even while tracing, so `jax.jit` programs and ONNX exports hold
|
|
203
203
|
them as constants; `tests/test_onnx_export.py::test_posemb_tables_export_as_constants` checks that each table exports
|
|
204
|
-
as a constant. Exporting `RoPE` and the Swin tables needs
|
|
204
|
+
as a constant. Exporting `RoPE` and the Swin tables needs jax2onnx 0.19.0 or newer (enpasos/jax2onnx#291).
|
|
205
205
|
`LinearAttention` applies its `RoPE` to queries and keys in one call, so programs hold one table per block.
|
|
206
206
|
`[attention.py:LinearAttention]`
|
|
207
207
|
- `LearnedPosEmbed` validates `cls_token` and `reg_tokens` shapes and resamples the grid part only, leaving prefix rows
|
|
@@ -226,4 +226,4 @@ shared core layers (activation, dropout, FFN, generic, Mamba mixer, norm) so mod
|
|
|
226
226
|
`devenv shell -- uv run pytest tests/test_attention.py tests/test_convolution.py tests/test_downsample.py tests/test_patch.py tests/test_posemb.py tests/test_squeeze_excite.py tests/test_wavelet.py tests/test_layer_registry_coverage.py tests/test_generic.py -q`
|
|
227
227
|
- The computed position-embedding tables are also covered by
|
|
228
228
|
`devenv shell -- uv run pytest tests/test_onnx_export.py::test_posemb_tables_export_as_constants tests/test_io.py tests/test_checkpoint_signature_stability.py -q`
|
|
229
|
-
(constant export, which needs jax2onnx
|
|
229
|
+
(constant export, which needs jax2onnx 0.19.0 or newer, and loading pre-2.8 checkpoints).
|
equimo-2.8.0/pyproject.toml
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
[project]
|
|
2
|
-
name = "Equimo"
|
|
3
|
-
version = "2.8.0"
|
|
4
|
-
description = "Implementation of modern multimodal models in JAX/Equinox"
|
|
5
|
-
readme = "README.md"
|
|
6
|
-
requires-python = ">=3.12,<3.15"
|
|
7
|
-
license = "MIT AND Apache-2.0"
|
|
8
|
-
license-files = [
|
|
9
|
-
"LICENSE.md",
|
|
10
|
-
"NOTICE",
|
|
11
|
-
"LICENSES/Apache-2.0.txt",
|
|
12
|
-
"LICENSES/pretrained/README.md",
|
|
13
|
-
"LICENSES/pretrained/ast-BSD-3-Clause.txt",
|
|
14
|
-
"LICENSES/pretrained/convnext-Apache-2.0.txt",
|
|
15
|
-
"LICENSES/pretrained/convnextv2-CC-BY-NC-4.0.txt",
|
|
16
|
-
"LICENSES/pretrained/dinov2-Apache-2.0.txt",
|
|
17
|
-
"LICENSES/pretrained/dinov3-License.md",
|
|
18
|
-
"LICENSES/pretrained/eupe-FAIR-Noncommercial-Research-License.md",
|
|
19
|
-
"LICENSES/pretrained/lingbot-vision-Apache-2.0.txt",
|
|
20
|
-
"LICENSES/pretrained/sam-License.md",
|
|
21
|
-
"LICENSES/pretrained/siglip2-Apache-2.0.txt",
|
|
22
|
-
"LICENSES/pretrained/t0-alpha-Apache-2.0.txt",
|
|
23
|
-
"LICENSES/pretrained/tabpfn-3-License-v1.0.txt",
|
|
24
|
-
"LICENSES/pretrained/tips-CC-BY-4.0.txt",
|
|
25
|
-
"LICENSES/tfc-t0-APACHE-2.0.txt",
|
|
26
|
-
]
|
|
27
|
-
dependencies = [
|
|
28
|
-
"banax>=0.1.2",
|
|
29
|
-
"einops>=0.8.0",
|
|
30
|
-
"equinox>=0.13.3",
|
|
31
|
-
"jax>=0.11.1",
|
|
32
|
-
"jaxlib>=0.11.1",
|
|
33
|
-
"loguru>=0.7.3",
|
|
34
|
-
"lz4>=4.4.3",
|
|
35
|
-
"requests>=2.32.3",
|
|
36
|
-
]
|
|
37
|
-
classifiers = [
|
|
38
|
-
"Development Status :: 5 - Production/Stable",
|
|
39
|
-
"Intended Audience :: Developers",
|
|
40
|
-
"Intended Audience :: Science/Research",
|
|
41
|
-
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
42
|
-
"Programming Language :: Python :: 3.12",
|
|
43
|
-
"Programming Language :: Python :: 3.13",
|
|
44
|
-
"Programming Language :: Python :: 3.14",
|
|
45
|
-
]
|
|
46
|
-
|
|
47
|
-
[project.optional-dependencies]
|
|
48
|
-
audio = [
|
|
49
|
-
"torch>=2.11,<2.12",
|
|
50
|
-
"torchaudio>=2.11,<2.12",
|
|
51
|
-
]
|
|
52
|
-
torch = [
|
|
53
|
-
"torch>=2.6.0",
|
|
54
|
-
"timm>=1.0.15",
|
|
55
|
-
]
|
|
56
|
-
language = [
|
|
57
|
-
"tensorflow>=2.18.1",
|
|
58
|
-
"tensorflow-text>=2.18.1",
|
|
59
|
-
]
|
|
60
|
-
clip = [
|
|
61
|
-
"ftfy>=6.1,<7",
|
|
62
|
-
"regex>=2024.11.6",
|
|
63
|
-
]
|
|
64
|
-
extras = [
|
|
65
|
-
"matplotlib>=3.10.1",
|
|
66
|
-
"pillow>=11.1.0",
|
|
67
|
-
"scikit-learn>=1.6.1",
|
|
68
|
-
]
|
|
69
|
-
|
|
70
|
-
[build-system]
|
|
71
|
-
requires = ["uv_build>=0.10.12,<0.12.0"]
|
|
72
|
-
build-backend = "uv_build"
|
|
73
|
-
|
|
74
|
-
[tool.uv.build-backend]
|
|
75
|
-
source-include = [
|
|
76
|
-
"CHANGELOG.md",
|
|
77
|
-
"docs/licensing/sam3-provenance.md",
|
|
78
|
-
"docs/licensing/t0-source-provenance.md",
|
|
79
|
-
"docs/migration-v2.md",
|
|
80
|
-
"docs/stability.md",
|
|
81
|
-
"docs/timeseries.md",
|
|
82
|
-
"models/huggingface/NOTICE",
|
|
83
|
-
"models/huggingface/README.md",
|
|
84
|
-
"models/huggingface/convnext-conversion.json",
|
|
85
|
-
]
|
|
86
|
-
wheel-exclude = ["EGM.md"]
|
|
87
|
-
|
|
88
|
-
[tool.ruff.lint]
|
|
89
|
-
ignore = [
|
|
90
|
-
"E731",
|
|
91
|
-
"E741",
|
|
92
|
-
"F722",
|
|
93
|
-
]
|
|
94
|
-
|
|
95
|
-
[tool.ty.analysis]
|
|
96
|
-
replace-imports-with-any = ["equinox._module._module"]
|
|
97
|
-
allowed-unresolved-imports = [
|
|
98
|
-
"ftfy.**",
|
|
99
|
-
"matplotlib.**",
|
|
100
|
-
"PIL.**",
|
|
101
|
-
"regex.**",
|
|
102
|
-
"sklearn.**",
|
|
103
|
-
"tensorflow.**",
|
|
104
|
-
"tensorflow_text.**",
|
|
105
|
-
"timm.**",
|
|
106
|
-
"torch.**",
|
|
107
|
-
"torchaudio.**",
|
|
108
|
-
]
|
|
109
|
-
|
|
110
|
-
[tool.pytest.ini_options]
|
|
111
|
-
addopts = "-m 'not reference_parity and not live_reference_parity'"
|
|
112
|
-
markers = [
|
|
113
|
-
"reference_parity: parity against checked-in outputs from pinned upstream implementations",
|
|
114
|
-
"live_reference_parity: parity requiring a separately supplied upstream checkpoint",
|
|
115
|
-
]
|
|
116
|
-
|
|
117
|
-
[dependency-groups]
|
|
118
|
-
dev = [
|
|
119
|
-
"jax2onnx>=0.17.0",
|
|
120
|
-
"mdformat==1.0.0",
|
|
121
|
-
"mdformat-footnote==0.1.3",
|
|
122
|
-
"mdformat-gfm==1.0.0",
|
|
123
|
-
"mdformat-myst==0.3.0",
|
|
124
|
-
"onnxruntime>=1.28.0",
|
|
125
|
-
"pre-commit>=4.5.1",
|
|
126
|
-
"pytest>=9.0.2",
|
|
127
|
-
"ruff>=0.15.7",
|
|
128
|
-
"ty>=0.0.24",
|
|
129
|
-
]
|
|
130
|
-
reference = [
|
|
131
|
-
"tabpfn>=8.1.0",
|
|
132
|
-
"tfc-t0==0.2.1",
|
|
133
|
-
"timm>=1.0.15",
|
|
134
|
-
"torch>=2.6.0",
|
|
135
|
-
"transformers>=5.13.1",
|
|
136
|
-
]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.8.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{equimo-2.8.0 → equimo-2.8.1}/LICENSES/pretrained/eupe-FAIR-Noncommercial-Research-License.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|