As a teamwork of the 'Usable ML' software project course at FU Berlin, supervised by Fraunhofer AISEC, this student work built a graphical user interface (GUI) aimed at democratizing machine learning (ML). Our project focused on empowering users to effortlessly create, customize, and interact with ML models, thereby bridging the gap between complex algorithms and end-users. Possible features include:
- Training Interface
- start training (done)
- interrupt training (done)
- continue training (done)
- adjust parameters (e.g., learning rate, loss function, momentum, dropout-rate) (0.5 P) (done)
- before the training
- during the training
- revert to an earlier epoch (1 P) (done)
- freeze parts of the model (1 P)
- Training Monitor
- display accuracy and loss over time for training set
- indicate point in training where a parameter was changed
- display accuracy and loss over time for test set (0.5 P)
- display layer-specific information (e.g., gradients) (1 - 2 P)
- compare different runs (1 P)
- fork graph when parameters of earlier epochs are changed (1.5 P)
- Model Creator
- create models using a GUI (2 P)
- change the composition of layers (1 P)
- change aspects of the layers (e.g., sizes) (0.5 P)
- Model Evaluator
- select stored model to be evaluated (0.5 P)
- evaluate per-class accuracy on test set (or training set, or arbitrary dataset) (1 P)
- display special examples which (2 P)
- are falsely predicted
- are predicted with a small loss
Items in bold are expected as a minimum feature set.
This structure is required for Flask.
project/
app.py
templates/
index.html
static/
script.js
style.css
- Clone the environment and go into the folder.
git clone https://gitlab.cc-asp.fraunhofer.de/dar80083/usableml_students.git
cd usableml_students
- Install the requirements into a conda environment
conda env create -f env.yml
- Install PyTorch into your environment. Refer to this page for specific instructions: https://pytorch.org/get-started/locally/
Activate the environment
conda activate UsableML
Run the app
python3 app.py
This project is licensed under the GNU Affero General Public License v3.0.