Skip to content

Image ATM (Automated Tagging Machine)

Build Status License

Image ATM is a one-click tool that automates the workflow of a typical image classification pipeline in an opinionated way, this includes:

  • Preprocessing and validating input images and labels
  • Starting/terminating cloud instance with GPU support
  • Training
  • Model evaluation

Read the documentation at:

Image ATM is compatible with Python 3.6 and is distributed under the Apache 2.0 license.


There are two ways to install Image ATM:

  • Install Image ATM from PyPI (recommended):
pip install imageatm
  • Install Image ATM from the GitHub source:
git clone
cd imageatm
python install


Train with CLI

Run this in your terminal

imageatm pipeline config/config_file.yml

Train without CLI

Run the data preparation:

from imageatm.components import DataPrep

dp = DataPrep(
    image_dir = 'sample_dataset/',
    samples_file = 'sample_configfile.json',

Run the training:

from imageatm.components import Training

trainer = Training(dp.image_dir, dp.job_dir)

Run the evaluation:

from imageatm.components import Evaluation

evaluater = Evaluation(image_dir=dp.image_dir, job_dir=dp.job_dir)

Cite this work

Please cite Image ATM in your publications if this is useful for your research. Here is an example BibTeX entry:

  title={Image ATM},
  author={Christopher Lennan and Malgorzata Adamczyk and Gunar Maiwald and Dat Tran},


See LICENSE for details.


  • We are currently using Keras 2.2. The plan is to use tf.keras once TF 2.0 is out. Currently tf.keras is buggy, especially with model saving/loading (