Skip to content

GUI-based software for training, evaluating and applying deep neural nets for image classification

License

Notifications You must be signed in to change notification settings

maikherbig/AIDeveloper

alt text

AIDeveloper is a software tool that allows you to train, evaluate and apply deep neural nets for image classification within a graphical user-interface (GUI).

Overview (click to play the gif)

Alt Text

Installation

There is a tutorial video (44 seconds short) on YouTube.
In this video, I show you how to get AIDeveloper running on your PC.
Alternate Text

If you dont want to watch the video:
Go through the following 5 steps and you are good to go:

  • Go to https://github.com/maikherbig/AIDeveloper/releases
  • Download a zip-file (this file contains the standalone executable)
  • Unzip it (you may need 7zip)
  • Go into the unzipped folder and scroll down until you find an executable (full name is for example "AIDeveloper_0.0.6.exe")
  • DoubleClick this .exe to run it (no installation is required)

Tutorials

Basic usage

There is a tutorial video (ca. 13min. short) on YouTube.
In this video only the very basic functionality of AID is presented. Furthermore, AIDeveloper contains many tooltips, which should help you to proceed further.
Alternate Text

Transfer learning

In a second tutorial (28min), the 'Expert' options of AID are exploited to perform transfer learning.
First, an existing CNN is loaded into AID. This CNN was trained previously on CIFAR-10 (grayscale) until a validation accuracy of 83%. Next, the Fashion-MNIST dataset is loaded into AID and training of the model is continued on this dataset. At the beginning, only the last layer of the CNN is trained, but later more and more layers are included into training. Also the dropout rates are optimized during the training process until a possibly record breaking testing accuracy of above 92% is reached.
Alternate Text

Learning rate screening and learning rate schedules

The learning rate (LR) is an important parameter when it comes to training neural networks. AID features a LR screening method which was originally suggested in this paper. That method allows you to find a LR that is suited well for your setting. Furthermore, this tutorial introduces LR schedules, which allow you to automatically adjust the learning rate during the training process. Besides exponentially decreasing learning rates, AID also features cyclical learning rates, which were also introduced in the paper mentioned earlier.
Alternate Text

Detecting COVID-19 using chest X-ray images

In this tutorial, AID is used to tackle a biomedical question that is currently of high interest: diagnosis of COVID-19. One problem is the scarcity of COVID-19 X-ray images, which results in a need of modern regularization techniques to prevent overfitting. First, two other large datasets are used to pre-train a model. Next, this model is optimized for images of COVID-19. More information and step by step instructions are available here.
Furthermore, there is a video showing the analysis procedure from beginning to end:
Alternate Text

More tutorials

Adding models to the model zoo
Create standalone using PyInstaller
AIDeveloper on AWS with GPU support
Deploy a model using OpenCV

Prerequisites

Since version 0.0.6, standalone executables of AIDeveloper are available. For Windows, a GPU-version is available that can detect and use NVIDIA GPUs (installation of CUDA is NOT required).

The script based version was tested using Python 3.9.10 on Windows and Mac. See below to find installation instructions.

Installation instructions to run AIDeveloper from script

you only need to do this if you are a developer/programmer

  • On Windows, install Visual studio build tools. During installation, make sure to check C++ Buildtools: alt text
  • Get a Python distribution. AIDeveloper was developed using Miniconda3 ("Miniconda3-py39_4.9.2-Windows-x86_64"). You can find this particular version in the installer archive of Miniconda: https://repo.anaconda.com/miniconda/
  • Download the entire GitHub repository of AIDeveloper: find the green button on the top right ("Clone or download"), click it and then click "Download ZIP"
  • Unzip the folder for example to C:\Users\MyPC\Downloads\AIDeveloper_0.3.0
  • open Anaconda Prompt

Option 1: Install dependencies using .yml file

  • navigate to the folder where you put AIDeveloper cd C:\Users\MyPC\Downloads\AIDeveloper_0.3.0
  • Generate an environment using the provided .yml file (AID_env_gpu_Win10.yml): conda env create -f AID_env_gpu_Win10.yml
  • This will create a new environment called "aid3_spyder"
  • Activate it: conda activate aid3_spyder
  • Run AIDeveloper using python AIDeveloper.py

Option 2: Manually install all dependencies:

conda create -n aid3_spyder python==3.9.10 spyder==5.2.1 typing-extensions==3.7.4.3
conda activate aid3_spyder
pip install --upgrade setuptools
pip install tensorflow-gpu==2.7.1
pip install scikit-learn==1.0.2
pip install hdf5plugin==3.3.1
pip install Pillow==9.0.0
pip install pandas==1.1.5
pip install psutil==5.9.0
pip install mkl==2022.0.2
pip install pyqtgraph==0.12.3
pip install imageio==2.13.5
pip install opencv-contrib-python-headless==4.5.5.62
pip install openpyxl==3.0.9
pip install xlrd==2.0.1
pip install keras2onnx==1.7.0
pip install libopencv==0.0.1
pip install ffmpeg==1.4
pip install tf2onnx==1.9.3
pip install Keras-Applications==1.0.8

AIDeveloper in scientific literature

Papers that cited AIDeveloper: Google Scholar link

Citing AIDeveloper

If you use AIDeveloper in a scientific publication, citation of the following paper is appreciated:
M. Kräter et al., “AIDeveloper: Deep Learning Image Classification in Life Science and Beyond,” Advanced Science, Mar. 2021.