MLP-visualizer / README.md
Umar1623's picture
Upload README.md
cd0003d verified
---
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:
```bash
pip install -r requirements.txt
```
2. Run the Streamlit application:
```bash
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)