Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Aggressor: Ultra-minimal autoregressive diffusion model for image generation

A simplest possible implementation of Autoregressive Image Generation without Vector Quantization.

Key Features

  • Simple Architecture: A tiny transformer for autoregression and an MLP for diffusion.
  • Single-File Implementation: Entire model in one Python file.
  • Minimal Dependencies: Built from scratch using only basic MLX operations.

Components

  • Aggressor: Main model class combining transformer and diffusion.
  • Transformer: Multi-layer transformer with attention and MLP blocks.
  • Denoiser: MLP-based diffusion process with time embedding.
  • Scheduler: Handles forward and backward processes for diffusion.
  • Attention: Multi-head attention mechanism.
  • MLP: Basic multi-layer perceptron with SiLU activation.

Usage

python aggressor.py

Alt text

Alt text

(Training on 60000 images x 20 epochs takes approximately 7~8 minutes on 8GB M2 MacBook.)

Acknowledgements

Thanks to lucidrains' fantastic code that inspired this project. The official implementation is available here.

Release files for aggressor 0.0.1a0

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

Source distribution (sdist)

Source distribution for aggressor 0.0.1a0
File Size Uploaded
aggressor-0.0.1a0.tar.gz 5.6 kB Details

Built distribution (wheel)

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

Total release size: 11.4 kB

Release files / aggressor-0.0.1a0.tar.gz

Download URL aggressor-0.0.1a0.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d2d48b8745f2159841956ecc3f21eafe963ecac9450f93ede3041dcf2ad77dd1
BLAKE2b-256 checksum
How to use checksums
b3d60a82440e138b61f05b206853a8e7b926d9d6a42386a26d76821193ddfa00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.3

Release files / aggressor-0.0.1a0-py3-none-any.whl

Download URL aggressor-0.0.1a0-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3651c92cf797bf4bd4d4ee5b1582ab72739efc41475cef28d0872dd5581defba
BLAKE2b-256 checksum
How to use checksums
50b0331aa22b0596181b7a38771df1b9ecda683e9ea700d2e018f16e4769fd01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.0.1a0 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