Skip to main content

A Python package offering implementations of state-of-the-art autoencoder architectures in PyTorch.

Project description

pyautoencoders_logo

pyautoencoder is a lightweight Python package offering clean, minimal implementations of foundational autoencoder architectures in PyTorch. It is designed for researchers, educators, and practitioners seeking a reliable base for experimentation, extension, or instruction.

📦 Installation

pip install pyautoencoder

Or install from source:

git clone https://github.com/andrea-pollastro/pyautoencoder.git
cd pyautoencoder
pip install -e .

🚀 Quick Example

import torch
from pyautoencoder.models import Autoencoder

# Define encoder and decoder
encoder = torch.nn.Sequential(
    torch.nn.Flatten(),
    torch.nn.Linear(784, 32)
)

decoder = torch.nn.Sequential(
    torch.nn.Linear(32, 784),
    torch.nn.Unflatten(1, (1, 28, 28))
)

# Initialize model
model = Autoencoder(encoder, decoder)

# Forward pass
x = torch.randn(64, 1, 28, 28)
x_hat, z = model(x)

🗺️ Roadmap

  • Autoencoder (AE)
  • Variational Autoencoder (VAE)
  • Hierarchical VAE (HVAE)
  • Importance-Weighted AE (IWAE)
  • Denoising Autoencoder (DAE)
  • Sparse Autoencoder (SAE)

🤝 Contributing

Contributions are welcome — especially new autoencoder variants, training examples, and documentation improvements. Please open an issue or pull request to discuss any changes.

📝 Citing

@misc{pollastro2025pyautoencoder,
  Author = {Andrea Pollastro},
  Title = {pyautoencoder},
  Year = {2025},
  Publisher = {GitHub},
  Journal = {GitHub repository},
  Howpublished = {\url{https://github.com/andrea-pollastro/pyautoencoder}}
}

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyautoencoder-1.0.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyautoencoder-1.0.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file pyautoencoder-1.0.0.tar.gz.

File metadata

  • Download URL: pyautoencoder-1.0.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pyautoencoder-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2c3d9d7f7a93d48d606227a39a9cac392f242b563904986e2fd4b221cc1a962b
MD5 84b31ddd866785ca34b33bbae850c927
BLAKE2b-256 aa9291f926dc592c6a23cf3853c485cbae8dc745bc4a855b47990d7f2c9107da

See more details on using hashes here.

File details

Details for the file pyautoencoder-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pyautoencoder-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pyautoencoder-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e62f434017fee5ac33eb241612253634b8dee13fe10af983dcab1e29dbce6dae
MD5 9a5086e841894739a2cf1b61640e89ae
BLAKE2b-256 30f6c0e97e0b6b0597a428f8ca0690d16fd90c4f499059052678ea10cb2e47c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page