A Python package offering implementations of state-of-the-art autoencoder architectures in PyTorch.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c3d9d7f7a93d48d606227a39a9cac392f242b563904986e2fd4b221cc1a962b
|
|
| MD5 |
84b31ddd866785ca34b33bbae850c927
|
|
| BLAKE2b-256 |
aa9291f926dc592c6a23cf3853c485cbae8dc745bc4a855b47990d7f2c9107da
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e62f434017fee5ac33eb241612253634b8dee13fe10af983dcab1e29dbce6dae
|
|
| MD5 |
9a5086e841894739a2cf1b61640e89ae
|
|
| BLAKE2b-256 |
30f6c0e97e0b6b0597a428f8ca0690d16fd90c4f499059052678ea10cb2e47c6
|