Coder Social home page Coder Social logo

imageclassifier's Introduction

Projet Annuel

Problematique

L'objectif du projet est de pouvoir déterminer à quel pays appartient une image représentant son drapeau national. Pour ce faire nous devions créer et entrainer plusieurs PMC grace à une librairie dynamique developée en C++ avec une configuration précise jusqu'a convergence. Une fois les modèles entrainées et pret à predire nous devions developper une application web permettant à un utilisateur d'importer une image et de réaliser des prédictions dessus. De plus, nous devions developper une application web permettant à un utilisateur de faire ses prédictions via une interface.

Présentation des dossiers

application :

Application réalisée en Django permettant à un utilisateur de faire des prédictions sur des images qu'il aura uploadé. Pour lancer l'application il faut lancer la commande.

python manage.py runserver

Interface de l'application web :

alt text

dataset :

Jeu de données d'entrainement et de test sur 3 types de drapeaux nationaux (Espagne, France et Japon)

Ex : Dossier contenant les données d'entrainements pour la classe France

alt text

library :

Librairie dynamique developée en C++ permettant de créer, entrainer, sauvegarder et détruire des modèles linéaires et des PMC. La librairie est utilisée en Python à l'aide du module ctypes. Elle est d’une part utilisée sur PyCharm et sur Jupyter Notebook afin de tester les fonctions relatives aux algorithmes d’apprentissage implémentant les modèles.

Fichier MLP.cpp de la librairie contenant les méthodes pour faire un PMC :

alt text

extern_librairies :

Librairies externes nécessaires au développement de la librairie principale . Ex: librairie JSON qui va faciliter l’enregistrement des modèles dans des fichiers JSON (ainsi que leur chargement).

models :

Dossier dans lequel sont enregistrés les modèles entrainés en C++ et en Keras.

scripts_notebooks :

Dossier contenant des scripts et notebooks Python permettant de créer, entrainer des modèles et d'effectuer des prédictions.

Ex : predict_keras_mlp_model.py

alt text

Partie Keras :

Nom Type Description
create_keras_mlp_models Notebook Permet de créer les différents modèles PMC avec la librairie Tensorflow Keras
train_keras_mlp_models Notebook Permet d'entrainer les différents modèles PMC crées avec la librairie Tensorflow Keras
predict_keras_mlp_model Script Permet d'effectuer des prédictions sur les différents modèles PMC crées avec la librairie Tensorflow Keras

Partie C++ :

Nom Type Description
create_cpplibrary_mlp_models Notebook Permet de créer les différents modèles PMC avec la librairie codée en C++
train_cpplibrary_mlp_models Notebook Permet d'entrainer les différents modèles PMC crées avec la librairie codée en C++
predict_cpplibrary_mlp_model Script Permet d'effectuer des prédictions sur les différents modèles PMC crées avec la librairie codée en C++

others :

Dossier contenant :

-> Le rapport final représentant les résultats des modèles (prédictions et analyses des courbes obtenues avec Tensorboard)

alt text

-> Script permettant d'évaluer les stats du dataset avec Tensorflow Keras

imageclassifier's People

Contributors

moussa75xix avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.