MLP-visualizer / README.md
Umar1623's picture
Upload README.md
cd0003d verified

A newer version of the Streamlit SDK is available: 1.49.1

Upgrade
metadata
title: Interactive MLP Learning Platform
emoji: 🧠
colorFrom: blue
colorTo: indigo
sdk: streamlit
sdk_version: 1.32.0
app_file: app.py
pinned: false

Interactive MLP Learning Platform

This is an interactive web application designed to help students learn about Multi-Layer Perceptrons (MLPs) and deep learning concepts. The application allows users to:

  1. Generate synthetic datasets with customizable features and classes
  2. Split data into training, validation, and test sets
  3. Design and visualize MLP architectures (including per-layer activation functions)
  4. Train MLPs and observe the learning process with real-time training and validation metrics
  5. Visualize the results and model performance, including:
    • Training/validation loss and accuracy curves
    • Weight and bias visualization
    • Weight optimization over epochs
    • Network architecture diagram
    • Confusion matrix and classification metrics after testing

Setup Instructions

  1. Install the required dependencies:
pip install -r requirements.txt
  1. Run the Streamlit application:
streamlit run app.py

Features

  • Interactive dataset generation and splitting
  • Customizable MLP architecture (layers, nodes, activations)
  • Real-time training and validation visualization
  • Performance metrics and plots
  • Weight and bias visualization
  • Network architecture visualization
  • Confusion matrix and classification report on test data

Usage

  1. Start by configuring your dataset parameters and data split
  2. Design your MLP architecture (choose layers, nodes, and activations)
  3. Confirm the network to visualize the architecture
  4. Train the model and observe both training and validation metrics
  5. Test the model on unseen data and analyze the confusion matrix and classification metrics

Requirements

  • Python 3.8+
  • See requirements.txt for package dependencies (including: streamlit, numpy, pandas, scikit-learn, matplotlib, torch, networkx, seaborn)