EXPERIMENT 04 / LATTICE IMAGE MICRO

Noise in. Local rules. An image out.

A trained, class-conditioned neural cellular automaton — running locally through ZIPP Python WASM. Watch the image flow evolve, inspect the hidden state, then train your own small checkpoint.

A small, real model — not a general image generator. Native output is 8 × 8 grayscale handwritten digits. Enlarging the canvas does not add detail. This is a new LATTICE-inspired baseline, not a conversion of a full LATTICE text-to-image checkpoint.
Engine not started
LIVE NOISE-TO-IMAGE FLOW

LATTICE Image Micro

TRAINED WEIGHTS · LOCAL INFERENCE
Visible image t = 0.000
Hidden-cell activity

Mean absolute hidden activity, rescaled per frame. One shared learned rule. Six local updates per flow evaluation in the bundled model. Hidden state resets between evaluations; weights do not change.

Hover the image to inspect a pixel.
FLOW STEPS0 / 40
NATIVE SIZE8 × 8 × 1
PARAMETERS10,674
LAST REQUEST

Start the engine to load the verified checkpoint. No model API or image upload is used.

ZIPP v0.0.18 · Python guest · data-only compute graphsNOT browser backpropagation
WHAT IS LEARNED?

A velocity field built from cellular updates.

Training mixes a real digit with random noise and asks the shared NCA rule to predict the direction from noise toward data. At inference, an Euler solver repeatedly follows the predicted field. Each prediction starts a fresh hidden grid, applies the local rule, and reads out a velocity for every pixel.

This differs from training one automaton to regrow one target picture: this checkpoint was trained across a collection of digit images. Sample quality and class compliance remain measurable limitations.

No image lookupNo attentionNo external model APIFrozen inference weights
TRAIN → EXPORT → INSPECT

Create your own small image model.

Training runs in native PyTorch on your computer, not in this page. In the downloadable source, open research/image_micro. Install a PyTorch build appropriate to your hardware, then install the remaining requirements.

python -m pip install -r requirements.txt
python train.py --steps 12000 --device cuda:0 --output runs/my-model

The default dataset is the small UCI/scikit-learn digits collection. For your own licensed images, create 2–16 class subfolders, with at least 10 distinct images in each, then run:

python train.py --image-folder ./my-images --steps 12000 \
  --device cuda:0 --output runs/custom

Images are converted to 8 × 8 grayscale. Import the resulting runs/custom/image.json using the control above. Use --device cpu when CUDA is unavailable. For higher-resolution captioned images, follow the separate LATTICE training guide — do not just stretch this model.

Built-in dataset: Optical Recognition of Handwritten Digits, Alpaydin & Kaynak, UCI Machine Learning Repository, DOI 10.24432/C50P49, CC BY 4.0. The browser downloads weights, not the training-image collection.

Inspect the Python running inside ZIPP
Source appears after the engine starts.