Skip to content

🌿 Flower Classifier implementation and Django Web App with integrated ML model.

Notifications You must be signed in to change notification settings

omonimus1/plant_classification

Repository files navigation

Flower Classifier 🍃

Test codecov

The current repository contains Davide Pollicino' Honours Project. The project (still under evolution), is the result of three research questions:

  • What are possible approaches to feature enginnering for the implementation of a classifier able to distinguish flower variants incredibly similar between them, even at differnt life stages and growth locations;
  • Which CNN architecture would offer best performances
  • Is is possible to integrate a machine learning model within a django App, without that this model would first be deployed in a cloud service and exploses via endpoint?

Technologies

GitHub Actions CodeCov

Web application functionalities

The machine learning model, is the the integrated and used in a Django Web APP, where user are able to:

  • Classify a flower
  • Leave a feedback related to the prediction
  • Save a prediction as favourite
  • Register, Login, and gets the user's favourite position.

Apply for a mentorship session with me (get a 7 days free trial)

MentorCruise

How to run the project

# create virtual environemnt
python3 -m venv venv

# install project requirements
source venv/bin/activate
pip3 install -r requirements.txt

# run migrations
python3 manage.py makemigrations
python3 manage.py migrate

# create superuser
python3 manage.py creatersuper

# run application
python3 manage.py runserver

(Note: manage.py may be located inside the webappClassifier folder :) )

Coding style checks adopted

  • Coding style: Black
  • Python Lint: Flake8, flake8-todos
  • mypy (for english type checking)
# format folder
black folder_name
# Remote all white spaces from project files
trim .
# Format file to improve syntax in according to flake8 (yes -> 2 times --aggressive)
autopep8 --in-place --aggressive --aggressive filename.py