Skip to main content

Archetype Computing and Adaptive System (ACDS)

EMERGE project funding acknowledgements

Archetype Computing and Adapting System for the EMERGE project, a project funded by the European Innovation Council (EIC) of the European Union (EU) under Grant Agreement 101070918.

The APIdoc can be found at this link.

Archetypes

The archetype package implements the Echo State Network model, the Long Short-Term memory model, and the Random Oscillators Network model. Each model is implemented as a Python class using the PyTorch library . The archetypes package defines the way each archetype performs computation and it is therefore at the center of the Archetype Computing System.

The archetype package also provided utility functions that influence the archetype computation. For example, currently available functions can create sparsely connected Archetype Networks or control the topology of the connections (ring topology, Toeplitz topology and others).

Benchmarks

The benchmarks package allows to easily create an instance of popular datasets and benchmarks. Currently, the package features the MNIST dataset, the Mackey-Glass chaotic dynamical system and the Adiac dataset (a real-world time series processing task).

The datasets are currently implemented via helper functions. Each dataset has its own helper functions that returns the training set, the validation set and the test set randomly sampled from the dataset. Each set is a PyTorch compatible dataset or dataloader, that automatically manages multiple iterations with mini-batches. Each dataset can implement a custom way of splitting the examples in the three sets. From the point of view of the user, this does not impact neither on the archetypes nor on the experiment where the dataset is then used.

Experiments

The experiments package currently provides three experiments. Each experiment is a main Python script that can be executed by directly running it with a Python interpreter. The Adiac experiment uses the Adiac dataset and trains either an RON model or an ESN model. The choice of the model can be controlled by parameters provided as input to the main script. The experiments logs the results to a text file with the train and validation metrics. The test metrics can be computed when the corresponding flag is activated (to distinguish between model selection and model assessment).

The sMNIST experiment follows the same approach, but it leverages the MNIST dataset, taken one pixel at a time (sequential MNIST) due to the use of recurrent archetypes.

Finally, the Mackey-Glass experiment uses the Mackey-Glass dataset and trains an RON model or an ESN model to predict future states given the current one. The logging functionalities remain the same across the three experiments. Each experiment describes all the accepted parameters at the beginning of the code.

Demo

The robots_demo package provides the code to run the EMERGE demo. Please, note that data is not shared through GitHub.

How to use

The project requires Python 3.11 or newer. Install from a checkout with pip:

git clone https://github.com/EU-EMERGE/archetype-computing-adaptive-system.git
cd archetype-computing-adaptive-system
python -m pip install .

For development, install the package in editable mode with the development tools:

python -m pip install -e ".[dev]"

make install also installs the package in editable mode into the active Python environment. With conda, activate the environment first (for example, conda activate tomato) and use make install PYTHON=python.

The first PyPI release will be 1.0.0. Once it is published, install it with:

python -m pip install acds
# Or pin the first release:
python -m pip install "acds==1.0.0"

The distribution and Python import are both named acds. These PyPI commands become available after the first release; use the checkout instructions above until then.

The evolutionary extra installs dependencies for acds.evolutionary:

python -m pip install ".[evolutionary]"
# After the PyPI release:
python -m pip install "acds[evolutionary]"

Graphviz rendering also requires the system Graphviz installation and its dot executable. Experiments and robot demos run from the source checkout and may need additional experiment-specific dependencies and external data.

For example, a model can be created without downloading any datasets:

import torch
from acds.archetypes import RandomizedOscillatorsNetwork

model = RandomizedOscillatorsNetwork(
    n_inp=1, n_hid=100, dt=0.01, gamma=1.0, epsilon=1.0
)
states, final_state = model(torch.randn(8, 50, 1))

If you want to run the sMNIST experiment with the RON model you can run:

    python experiments/smnist.py --ron --dataroot /path/where/to/download/mnist

Dataset directory

The library bundles raw datasets in acds/benchmarks/raw in both the wheel and source distribution. The directory contains the adiac folder where both train and test examples for Adiac are stored. It also contains the mackey_glass.csv file, where the Mackey-Glass dataset is saved. Locate these files after installing the package with:

from pathlib import Path
import acds.benchmarks

raw = Path(acds.benchmarks.__file__).parent / "raw"
train, validation, test = acds.benchmarks.get_adiac_data(
    raw / "adiac", bs_train=32, bs_test=64
)

Use a writable directory outside the installed package for downloaded datasets such as MNIST, and pass that directory as the experiment's dataroot.

Results

Results of the experiments are saved within the resultroot directory, provided as parameter to each script. Remember to create the directory before using it.

Metadata

Release files for acds 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acds 1.0.0
File Size Uploaded
acds-1.0.0.tar.gz 802.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for acds 1.0.0
File Interpreter ABI Platform
acds-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / acds-1.0.0.tar.gz

Download URL acds-1.0.0.tar.gz
Size 802.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c15bd8b891484a57708ae68740ae5ab40f96f6df89675a6258224f24830c449d
BLAKE2b-256 checksum
How to use checksums
54f6017d711fcce28d2a6bb9e083626129a2d313652846bcb48311b89ecfe525
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / acds-1.0.0-py3-none-any.whl

Download URL acds-1.0.0-py3-none-any.whl
Size 828.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f312597b84034f51793688aedf8632f0b8ab36612e62746db14a5b6fd8cca22
BLAKE2b-256 checksum
How to use checksums
40389bd1824fdd9b609f20f76abea8caf74c0c50bf8f3ae042b62bf099cc39a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page