How siddarthreddyk/fashion-mnist-classifier works
This repository trains a Fashion-MNIST CNN and provides a Streamlit interface for image classification. Training loads and preprocesses the dataset, fits the CNN, saves weights, and produces evaluation plots; inference loads those weights, preprocesses an uploaded image, and displays its predicted class and confidence. The README documents these capabilities, and the sampled source confirms the main calls and data transfers shown; unsampled storage details are represented only where the documented paths support them.
Main entry points: train.py Train and evaluate · predict.py Image prediction · streamlit_app.py Image upload app · data.py Load and batch data
Components 11
Data pipeline
- Load and batch data
src/data.py - Dataset storage
data
Training and evaluation
- Train and evaluate
src/train.py - CNN model
src/model.py - Evaluation plots
src/visualize.py
Inference app
- Image upload app
app/streamlit_app.py - Image prediction
src/predict.py
Artifacts
- Model checkpoint
models - Plot outputs
outputs
Other components
- Fashion-MNIST
- User
Connections 13
- Train and evaluate → Load and batch data: requests loaders
- Load and batch data → Fashion-MNIST: downloads dataset
- Load and batch data → Dataset storage: reads and writes
- Train and evaluate → CNN model: instantiates
- Train and evaluate → Model checkpoint: saves weights
- Train and evaluate → Evaluation plots: calls plots
- Evaluation plots → Plot outputs: writes plots
- User → Image upload app: uploads image
- Image upload app → Image prediction: requests prediction
- Image prediction → Model checkpoint: loads weights
- Image prediction → CNN model: runs inference
- Image prediction → Image upload app: returns class and confidence
- Image upload app → User: displays result