Skip to content

NormanTUD/asanAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Current build status

Loading

Loading

What is asanAI?

asanAI is a no-code, offline-first machine learning toolkit which runs in any modern browser.

Loading

All global options can be adjusted from the foldable ribbon at the top of the page.
There is even a "Dark mode" :)

Ribbon

A neural network can be designed simply using the layers structure from the panel on the left.
An instant visualization of the network structure enhances understanding.

Layers

Layers are shown in their semantical categories.
Each layer has its own set of internal configurations which is accessible from the Settings button in each layer.

Unless the Expert mode being activated (from the top robbon), various guiding mechanisms assist users in their decision e.g., mismatching layers cannot be selected, wrong values will be highlighed, etc.

Layer settings Beginner mode

Once the network and input data are ready, the training can be started by clicking on the Start training button from the top ribbon.
During the training, the internal process and progress of the network can be tracked.

Training

For simple networks, in addition to general visualizations, the Math Mode offers a detailed (and live) look at the underlying calculations in each layer.

Math mode

As soon as the training process begins, the progress of the model can be tested on the Predict tab.
For image data, the testing can be done via uploaded photos, drawing directly on the screen, or live camera stream.
For text data, the test data can be either uploaded as a file or being directly inserted in the text area.

Live predictions

Beside the default test datasets, users can upload their own data in CSV, Image, or Tensor formats.
Several assistances suppor the input process and facilitate the data upload (data never leaves the local computer).

Own data

Similar to the default sample dataset, the live prediction for users data can be initiated in parallel, as soon as the training process is started.

Own data predictions

To enhance explainability, additional visualization tools can help inspect internal weight matrices, activated neurons, or input data using GradCam representation.

Weight matrix

Owndata activation

At every stage of design, training, and verification of models, the automatic generated python code can be downloaded. In addition, the training data as well as the model structure and weights can be downloaded as separate files (from the top ribbon).

Code

How to use asanAI?

Note

If you would like to use asanAI (as it is), simply follow this link: asanAI Toolkit

Self-/local hosting

If you would like to host your own version, or if you would like to change the default values, add other examples, customize the theme, or do any other changes to the core of asanAI then follow the instructions below.

Tip

Take a look at the Introduction and the Exhibition version for some inspirations. These variations are currently in use in kiosk-mode at exhibitions and public events. Their code is also avaialble in this repository.

click here to expand the installation instructions...

Using Docker

The installation script docker.sh installs and configures all requirments.
We have tested this script on Debian, however it should work on most debian-based operating systems (such as Ubuntu).

On Debian

Clone this repository and execute the installation script as following:

bash docker.sh --local-port 5312

On Linux

(not tested but should work) Clone this repository, then execute the following commands in a terminal one by one:

LOCAL_PORT=5312
echo "LOCAL_PORT=$LOCAL_PORT" >> .env
sudo docker-compose build && sudo docker-compose up -d || echo "Failed to build container"
firefox localhost:$LOCAL_PORT/

On Windows

(not tested but should work) Clone this repository, then execute the following commands in a terminal one by one:

set LOCAL_PORT=5312
echo LOCAL_PORT=%LOCAL_PORT% >> .env
docker-compose build && docker-compose up -d || echo Failed to build container
start firefox localhost:%LOCAL_PORT%/

Installation (no Docker)

For any reason you may decide to avoid using Docker and go for a navite installation. This is also fairly straight forward.

Apache2 + PHP

Install Apache2 and PHP usign the package manager of your operating system. They are required to assemble and serve the JS-files.

In the php.ini, increase the max file size as following:

upload_max_filesize = 100M;
post_max_size = 100M;

MySQL (optional)

asanAI supports an optional login functionality which can be used for instance by teachers to instantly share contents in classrooms.
To enable this functionality a MySQL instance is requires.

[!TIP] Run the following script for exporting python files on shared/remote hosts:

mkdir -p /var/www/tmp
sudo chown -R www-user:$USER /var/www/tmp
sudo chmod -R 775 /var/www/tmp

System requirements

Using asanAI only requires a modern browser (javascript enabled).

  • GPU acceleration
    If the user's device is equipped with GPU, asanAI automatically utilizes the available GPU via WebGL.
    The WebGL functionality however, can be manually switched off from the top ribbon (General > CPU).

  • Smartphones
    asanAI is desgined with a responsive layout, thus it can be used on desktop computers, laptops, tablets, and smartphones.
    However, the user experience on small screens such as smartphones requires further improvement.

Video tutorials

A series of video tutorials about how to use asanAI is available on our YouTube channel.

Documentation (for advance users)

A draft of the documentation for advanced users is available here.

Please note

asanAI is under active developement.
Although we do our best to keep this page up-to-date, some screenshots might differ from the active version.
The latest version from this repository is always accessible via asanAI.ScaDS.AI.
If you encountered any problem using asanAI, please check the issues and create a new issue if required.
The online version of asanAI employs an automatic monitoring mechanism which submits an anonymized log to the server in case of a failure.

Screenshots

Click here to see more screenshots of asanAI...

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Standing on the shoulders of giants

asanAI uses many different libraries under the hood.

Click here to see the list...

Sponsored by

Sponsors