Skip to main content

Convolutional Autoencoder (CAE) in Python

An implementation of a convolutional autoencoder in python and keras.

Installation

pip install cae

Usage

from cae import cae
import numpy as np

# create a fake dataset, here: 1000 random 224x224 RGB images
images = np.random.normal(size=(1000, 224, 224, 3))

latent_dim = 8 # desired latent dimensionality

model = cae(images.shape[1:], latent_dim) # there are a number of **kwargs
                                          # parameters that are likely
                                          # worth tuning!!!

# TRAIN THE NETWORK
model.fit(images)

# SAVE THE WEIGHTS FOR EASY RELOADING LATER WITH model.load_weights(path)
model.save_weights('PATH/TO/SAVE/')

Final words

cae.py contains the implementation, which is tested on the MNIST dataset in mnist_test.ipynb.

In general, auto-encoders map an input x to a latent representation y (generally in a much smaller dimensional space), using deterministic functions of the type y = sigma(Wx+b). In order to encode images, it is useful to implement a convolutional architecture. Here, we utilize convolutional layers and max-pooling layers (which allow translation-invariant representations), followed by a flattening and dense layer to encode the images in a reduced-dimensional space. For decoding, you essentially need to perform the inverse operation. For more information on CAEs, consult e.g. http://people.idsia.ch/~ciresan/data/icann2011.pdf.

Metadata

Release files for cae 0.4

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

Source distribution (sdist)

Source distribution for cae 0.4
File Size Uploaded
cae-0.4.tar.gz 2.7 kB Details

Built distribution (wheel)

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

Total release size: 18.1 kB

Release files / cae-0.4.tar.gz

Download URL cae-0.4.tar.gz
Size 2.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fc3dfe259f536dcab550cb35322814005365679d6cc7cfc6e232be393ef40d34
BLAKE2b-256 checksum
How to use checksums
61a5be9cca82f6d49003960671c15f58738eeff3b78290eba6164b1e6c448290
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / cae-0.4-py3-none-any.whl

Download URL cae-0.4-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3b4f773027939f41434be8df619938b6825c84140de3d689aef8accf6318eadf
BLAKE2b-256 checksum
How to use checksums
adcb19e5bb785208b1eebe48cbb1c7acbe68837387bf7757777004f490e8f55d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.4 This release

2 release files

0.3

2 release files

0.2

2 release files

0.1.1

2 release files

0.1

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