/AIDeveloper

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

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

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

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
  • 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, the standalone executables of AIDeveloper are compatible to Windows, Mac and Linux.

The script based version was tested using Python 3.5 on Windows, Mac and Linux. 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

  • Install Visual studio build tools. During installation, make sure to check C++ Buildtools: alt text
  • Get a Python distribution. AIDeveloper was developed using Anaconda3 5.3.1 64bit. You can find this particular version in the installer archive of Anconda: https://repo.continuum.io/archive/
  • 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.0.6
  • 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.0.6
  • Generate an environment using the provided .yml file (AID_myenv_Win7.yml): conda env create -f aid_env_cpu.yml
  • This will create a new environment called "aid_env_cpu"
  • Activate it: conda activate aid_env_cpu
  • Run AIDeveloper using python AIDeveloper.py

Option 2: Manually install all dependencies:

conda create -n aid_env_cpu python=3.5
activate aid_env_cpu
pip install --upgrade setuptools
pip install keras==2.2.4
pip install tensorflow==1.12.3
pip install scikit-learn==0.20.0
pip install dclab==0.22.1
pip install Pillow==5.4.1
pip install pandas==0.24.0 
pip install psutil==5.4.7
pip install mkl==2019.0
pip install pyqt5==5.9.2
pip install pyqtgraph==0.11.0
pip install imageio==2.4.1
pip install opencv-contrib-python-headless==4.4.0.42
pip install openpyxl==2.5.6
pip install xlrd==1.1.0
pip install onnx==1.7.0
pip install keras2onnx==1.4.0
pip install libopencv==0.0.1
pip install ffmpeg==1.4
pip install tf2onnx==1.4.1
pip install numpy==1.16.4
pip install h5py==2.10.0

AIDeveloper in scientific literature

[1] M. Kräter et al., “AIDeveloper: Deep Learning Image Classification in Life Science and Beyond,” Advanced Science, Mar. 2021.
[2] A. A. Nawaz et al., “Intelligent image-based deformation-assisted cell sorting with molecular specificity,” Nat. Methods, May 2020.
[3] T. Krüger et al., “Reliable isolation of human mesenchymal stromal cells from bone marrow biopsy specimens in patients after allogeneic hematopoietic cell transplantation,” Cytotherapy, vol. 22, no. 1, pp. 21–26, Jan. 2020.
[4] P. Oura et al., “Deep learning in forensic gunshot wound interpretation—a proof-of-concept study,” International Journal of Legal Medicine, vol. 135, pp. 2101–2106, Apr. 2021.
[5] A. Walther et al., “Depressive disorders are associated with increased peripheral blood cell deformability: A cross-sectional case-control study (Mood-Morph),” medRxiv, Jul. 2021.

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.