maikherbig / AIDeveloper

GUI-based software for training, evaluating and applying deep neural nets for image classification
BSD 2-Clause "Simplified" License
110 stars 20 forks source link
artificial-intelligence computer-vision deep-learning deep-neural-networks graphical-user-interface image-classification image-processing software

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:

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