Skip to content

A complete machine learning system for classifying iris flowers using a Multi-Layer Perceptron (MLP) neural network implemented with PyTorch.

Notifications You must be signed in to change notification settings

Jospin6/iris-flowers

Repository files navigation

Iris Flowers Classification

Python 3.8+ PyTorch FastAPI Streamlit License: MIT Hugging Face Render

A complete machine learning system for classifying iris flowers using a Multi-Layer Perceptron (MLP) neural network implemented with PyTorch. The project includes a trained model, a FastAPI backend, and a Streamlit frontend—all deployed and accessible online.

screenshot screenshot

✨ Features

  • Machine Learning Model: MLP classifier trained on the classic Iris dataset
  • RESTful API: FastAPI backend with comprehensive endpoints
  • Web Interface: Interactive Streamlit UI for real-time predictions
  • Cloud Deployment: Fully deployed on modern platforms:
    • Model hosted on Hugging Face
    • API deployed on Render
    • UI deployed on Streamlit Cloud

🚀 Live Demos

🛠️ Tech Stack

  • Machine Learning: PyTorch, Scikit-learn, Pandas, NumPy
  • Backend: FastAPI, Uvicorn, Pydantic
  • Frontend: Streamlit
  • Deployment: Hugging Face Hub, Render, Streamlit Cloud
  • Environment Management: Pipenv

📦 Getting Started

Prerequisites

  • Python 3.8 or higher
  • Pipenv (recommended) or pip

Installation

  1. Clone the repository
    git clone https://github.com/Jospin6/iris-flowers.git
    cd iris-flowers
    
  2. Install dependencies with Pipenv
    pip install -r requirements.txt
    

Running Locally

  1. Start the API server
    cd api
    uvicorn main:app --reload --host 0.0.0.0 --port 8000
    
  2. Start the Streamlit app
    cd frontend
    streamlit run app.py
    
    

👨‍💻 Author

Built with ❤️ by Jospin Ndagano

About

A complete machine learning system for classifying iris flowers using a Multi-Layer Perceptron (MLP) neural network implemented with PyTorch.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published