Skip to content
Autoencoder-based image compression using pictures of the surface of Mars.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

Image Compression using Autoencoders

[work in progress]

This is an End-to-End case study showing how to use an autoencoder (a type of deep neural network) to compress a set of images.

We make use of the Cottonwood machine learning framework, a flexible tool for building and experimenting with neural networks and other machine learning methods.

Our goal is to compress images taken from cameras on the Mars Rover Curiosity so that they can be efficiently transmitted back to Earth.

Trained autoencoder

The methods we user here are explained fully in a sequence of courses in the End-to-End Machine Learning School, especially



First make sure you have the packages in place that it depends on. Installing Cottonwood will ensure that most dependecies are met. This project also uses

  • Pillow, an image library for Python,
  • Lodgepole, a set of image processing tools I find useful, and
  • Ponderosa, a hyperparameter optimization package.
git clone
git clone
git clone
python3 -m pip install -e cottonwood
python3 -m pip install -e lodgepole
python3 -m pip install -e ponderosa
python3 -m pip install Pillow --user

To use the code for this project, clone this repository and run it locally. You can do all this at the command line. Just a heads-up that this repository includes a dataset of 270 images and weighs in at 177 MB.

git clone
cd cottonwood_martian_images
You can’t perform that action at this time.