ML‑Edu‑Lab is a cross‑framework machine learning education environment designed to teach end‑to‑end ML workflows using scikit‑learn, PyTorch, and TensorFlow. The project emphasizes reproducibility, clarity, and architectural consistency, making it ideal for students, educators, and anyone exploring how different ML frameworks approach the same problems.
The system provides a unified pipeline for:
- Loading and exploring datasets
- Training models across multiple frameworks
- Saving timestamped artifacts (models, plots, logs)
- Evaluating results
- Running inference
- Visualizing data and model behavior through a Streamlit GUI
All training scripts follow a consistent architecture and write outputs into the artifacts/ directory.
ml-edu-lab/
│
├── artifacts/ # Auto-generated models, plots, logs
│ ├── models/
│ ├── plots/
│ └── logs/
│
├── src/
│ ├── algorithms/ # Training demos (sklearn, PyTorch, TensorFlow)
│ ├── data_loaders/ # Iris, MNIST, IMDB loaders
│ ├── utils/ # Logging, timestamping, paths, inference helpers
│ ├── visualize/ # Streamlit GUI components
│ └── main.py # CLI and GUI launcher
│
├── run_tests.py # Cross-framework interactive test runner
├── requirements.txt # Minimal reproducible environment
└── README.md # Project documentation
All frameworks share a unified command‑line interface.
python -m src.algorithms.sklearn_demo --dataset iris
python -m src.algorithms.sklearn_demo --dataset mnist
python -m src.algorithms.sklearn_demo --dataset imdb
python -m src.algorithms.pytorch_demo --dataset iris --epochs 5 --batch_size 32 --depth 2
python -m src.algorithms.pytorch_demo --dataset mnist --epochs 5 --batch_size 128 --depth 2
python -m src.algorithms.pytorch_demo --dataset imdb --epochs 5 --batch_size 128 --depth 2
python -m src.algorithms.tensorflow_demo --dataset iris --epochs 5 --batch_size 32 --depth 2
python -m src.algorithms.tensorflow_demo --dataset mnist --epochs 5 --batch_size 128 --depth 2
python -m src.algorithms.tensorflow_demo --dataset imdb --epochs 5 --batch_size 128 --depth 2
Each training run produces a complete set of reproducible artifacts:
- models/ — saved model files
- plots/ — confusion matrices and training curves
- logs/ — append‑only experiment log
All artifacts are timestamped for easy comparison across runs.
python run_tests.py
This script runs scikit‑learn, PyTorch, and TensorFlow demos end‑to‑end and confirms that the environment is correctly configured.
Launch the GUI with:
python src/main.py
The interface includes:
- Data Exploration
- Train Model
- Evaluate Model
- Inference
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
- Tabular
- 3 classes
- Not binary
- Image classification
- 10 classes
- Not binary
- Text sentiment
- 2 classes
- Binary
These datasets illustrate how different frameworks handle tabular, image, and text data — and why model capacity matters.
- Teach ML workflows end‑to‑end
- Compare frameworks in a consistent environment
- Provide a reproducible, educational ML sandbox
- Help learners build intuition through experimentation
- Demonstrate clean engineering practices and artifact management
MIT License.