AdaptAE is a framework that can be employed for real-time training of autoencoders on edge devices with limited memory capacities. It is designed to be flexible, allowing ML practitioners to analytically determine the best parameters based on the resources constraints of the desired edge device whilst guaranteeing a significantly faster training time compared to that of a traditional autoencoder.
AdaptAE was developed at the University of St Andrews as part of a Master's thesis project in the Computer Science department.
The repository contains the source code of AdaptAE. The code is organised as:
The AdaptAE training code can be found in the adaptae
folder
The autoencoder training code can be found in the autoencoder
folder
The ELM-AE training code can be found in the elmae
folder
The supported datasets are as follows:
- MNIST
- Fashion-MNIST
- CIFAR-10
- CIFAR-100
- Tiny ImageNet
The simplest way to run the code is by using the pre-configured Docker container which encapsulates all the necessary dependencies and environment settings.
Before you begin, make sure that you have Docker installed on your system. If you want to enable the Docker to utilize the NVIDIA GPU, you will also need to download the NVIDIA Container Toolkit
- Clone the repository:
git clone https://github.com/nsengupta5/AdaptAE.git
cd AdaptAE
- Build the Docker image:
docker build -t AdaptAE .
- Run the Docker container:
docker run -it AdaptAE
If you have a NVIDIA GPU, run:
docker run --gpus all -it AdaptAE
- Activate the AdaptAE conda environment:
conda activate adaptae
If you would rather not use Docker, you can configure your local environment to run the AdaptAE project
Before you begin, make sure that you have either Conda or Miniconda installed on your system
- Clone the repository:
git clone https://github.com/nsengupta5/AdaptAE.git
cd AdaptAE
- Create the Conda environment:
conda env create -f environment.yml -n adaptae
- Activate the environment:
conda activate adaptae
- Set the PYTHONPATH variable:
export PYTHONPATH="./:$PYTHONPATH"
Running the AdaptAE model: Please follow the instructions in the adaptae
folder
Running the autoencoder model: Please follow the instructions in the autoencoder
folder
Running the ELM-AE model: Please follow the instructions in the elmae
folder