SlideShare une entreprise Scribd logo
Déploiement d’un modèle de
classification d’images dans le
Cloud
Parcours Data Scientist
Déployez un modèle dans le
Cloud
Etudiant: Eric Wendling
Mentor: Julien Heiduk
Date: 04/12/2020
Projet 8 :
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
1 Présentation du projet
Contexte
Développement de systèmes innovants pour la préservation de la biodiversité des fruits
• Robots cueilleurs intelligents
• Application mobile pour la reconnaissance de fruits
Développement d’un moteur de classification de fruits
• Augmentation rapide du volume de données
 Prototype architecture Big Data
Notebook Jupyter
• PySpark
• Etapes de traitement des données
Objectif
Livrable
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
1 Présentation du projet
Données
Images de fruits
• Propriétés
• Dimensions (pixels): 100 X 100
• Profondeur: 24
Stockage
Source: Horea Muresan, Mihai Oltean. Fruit recognition from images using deep learning.
JEU DE TEST
131 répertoires (catégories)
22 688 images
152 Mo
JEU D’ENTRAINEMENT
131 répertoires (catégories)
67 692 images
467 Mo
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
2 Modélisation
Techniques de classification d’images
Réseaux de neurones convolutifs
 Identification auto des variables explicatives
Autres techniques d’apprentissage supervisé
 Détermination des variables explicatives
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
Points d’intérêts et descripteurs
• OpenCV
• SIFT, ORB, SURF
2 Modélisation
Variables explicatives
Descripteurs
Points d’intérêt
image 0
image 241
…
…
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
Visual Words
• Clustering des descripteurs
• Modèle K-Means
 K clusters (centroïdes)
Variables
• Classification des descripteurs
• Prédictions modèle K-Means
• Bag of Words
• Historisation
₋ Variables = clusters (visual words)
₋ Valeurs = nombre de cluster par image
Poids
• Matrice des descripteurs
2 Modélisation
Variables explicatives Visual Words
Clustering
Prédiction
Jeu de données Nombre
d’images
Nombre de
points d’intérêt
par image
Nombre de
descripteurs
total
Poids d’un
descripteur
(octets)
Poids
total (Gb)
Entraînement 67692 50 3384600 977 3,3
Test 22688 50 1134400 977 1,1
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Big Data
Important volume de données
• Scalabilité
• Augmentation des ressources (serveurs, RAM…)
• Limites
• Lorsque les solutions classiques de stockage, de gestion et de traitement sont insuffisantes
Les 3V du Big Data
• Volume
• Stockage
• Vélocité
• Traitement temps réel
• Variété
• Données structurées / non structurées
Calcul distribué
• Clusters de calcul
• Passage à l’échelle horizontal
• Plus grande tolérance aux pannes
• Transfert de tâches entre nœuds du cluster
• Recréer l’état du nœud en échec
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
MapReduce
Cadre générique pour le calcul distribué
• Diviser pour régner
• Problème  Sous-problèmes  Résolutions  Combinaison des résultats
• Combinaison de 2 fonctions simples
• Map: transformation
• Reduce: agrégation
SOCRATE :
Prétends-tu que
l'agréable soit
identique au
bon, ou bien y a-
t-il de l'agréable
qui ne soit pas
bon ?
prétendre
agréable soit
identique bon
ou agréable soit
pas bon
(prétendre, 1)
(agréable, 1, 1)
(soit, 1, 1)
(identique, 1)
(bon, 1, 1)
(ou, 1)
(pas, 1)
(prétendre, 1)
(agréable, 1)
(soit, 1)
(identique, 1)
(bon, 1)
(ou, 1)
(agréable, 1)
(soit, 1)
(pas, 1)
(bon, 1)
(prétendre, 1)
(agréable, 2)
(soit, 2)
(identique, 1)
(bon, 2)
(ou, 1)
(pas, 1)
SPLIT MAP SHUFFLE REDUCE
Application de
comptage de mots
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Hadoop 1.0 (Apache)
Infrastructure de référence pour MapReduce
• Socle technique
• HDFS (Hadoop Distributed File System)
• Framework MapReduce
• Architecture HDFS
• Type maître / esclaves
• Distribution des fichiers
• Réplication des fichiers
• Colocalisation données/traitements
• Framework MapReduce
• Type maître / esclaves
• Ordonnancement traitements
• Distribution de l’exécution
• Localisation des fichiers
Name Node
Data Node 1
Task Tracker
Data Node 2
Task Tracker
Data Node 3
Task Tracker
Secondary
Name Node
64 Mo
Blocs dupliqués (tolérance aux pannes)
CLIENT
Job Tracker
Node
Task Tracker
Fichier découpé en blocs
Réplication
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Hadoop 2.0 (Apache)
Optimisation de l’architecture
• YARN
• Yet Another Ressource Negociator
• Exécution de tout type d’applications
• Hadoop Streaming
• Utilisation d’autres langages que Java
Installation / Distributions
• Installation manuelle
• Paquets
• Distribution intégrée
• Services
• Cloud
• Services
Limites
• Ecriture sur disque
• Ecriture sur disque des données entre 2 étapes (Map Reduce)
 Lenteur d’exécution
• Jeu d’instructions limité
• Map et Reduce
 Difficulté de réaliser des opérations complexes
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Spark (Apache)
Description
• Framework open source de calcul distribué
Avantages
• Données stockées en RAM
 Rapidité d’exécution (X10 à X100 par rapport à Hadoop)
• Jeu d’instructions optimisé
• Nombreuses opérations en mode distribué
• Réduction automatique niveau Map / Reduce
Langages de programmation
• Java
• Scala (natif)
• Python
 API PySpark
Temps réel Machine Learning
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Spark (Apache)
Architecture
• Type Maître / Esclaves
• Gestion des fichiers: HDFS
• Hadoop Map Reduce
Distribution des calculs
• Classe SparkContext
 Configuration de l’application
 Lecture des données
• Création d’un objet de type RDD (Resilient Distributed Dataset)
 Format permettant la distribution des calculs
 Optimisé pour la tolérance aux pannes
 Type clé / valeur
Driver
Worker 1
Executor
Task 1
Task 2
…
Worker 2
Executor
Task 1
Task 2
…
Worker 3
Executor
Task 1
Task 2
…
(prétendre, 1)
(agréable, 1)
(soit, 1)
(identique, 1)
(bon, 1)
(ou, 1)
(agréable, 1)
(soit, 1)
(pas, 1)
(bon, 1)
Source: Documentation de Spark
clé
valeur
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Spark (Apache)
RDD (Resilient Distributed Dataset)
• Types d’opérations
• Transformation
• Action
• DAG (Directed Acyclic Graph)
 Tolérance aux pannes
• Lazy evaluation
• Evaluation des transformations au moment utile
 Lors d’une action
RDD 1
RDD 2
RDD 3
Transformation
Résultat
Action
Transformation
RDD 4
RDD 5
Transformation
Résultat
Action
évaluation
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
RDD (Resilient Distributed Dataset)
• Distribution par partition
 Calcul distribué
3 Architecture Big Data
Spark (Apache)
Task 1
Task 2
Task 3
Partition
Partition
Partition
Etape RDD
Driver
Worker 1
Executor
Task 1
…
…
Worker 2
Executor
Task 2
Task 3
…
Worker 3
Executor
Task 4
…
…
Task 4 Partition
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Spark - Langage Python
Installation (LOCAL)
• Packages
• Java
• Python3
• Jupyter Notebook
• Spark / PySpark
• Variables d’environnement
eric@eric-VirtualBox:~/OC_DS_P8$ spark-submit --master local[2] P8_01_spark.py True data/fruits_360…
Console Spark - Python
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
3 Architecture Big Data
Spark - Langage Python
Installation (LOCAL)
• Packages
• Java
• Python3
• Jupyter Notebook
• Spark / PySpark
• Variables d’environnement
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
Descripteurs
- Détection des points d’intérêt
- Calcul des descripteurs
Visual Words
- Clustering K-Means
- Clusters = Visual Words
Bag of Words
- Prédiction K-Means
- Regroupement des Visuals
Words par image
Variables
- Historisation
- Variables = Visual Words
Réduction de
dimension
Classification
- Random Forest
- MLP
- ACP
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
Descripteurs Visual Words Bag of Words Variables
Réduction de
dimension
Classification
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
Visual Words
Descripteurs Bag of Words Variables
Réduction de
dimension
Classification
Visual Words
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
Concaténation des identifiants
des images (encodés) et des
prédictions (clusters K-Means)
4 Conception
Descripteurs Variables
Réduction de
dimension
Classification
Bag of Words
Visual Words
ReduceByKey
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
Descripteurs
Réduction de
dimension
Classification
Visual Words Variables
Bag of Words
CountVectorizer
transformation DataFrame des
variables explicatives
Nombre de visuals
words uniques (30)
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
Descripteurs Classification
Visual Words Bag of Words
Réduction de
dimension
Variables
PCA
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
Classification
Descripteurs Visual Words Bag of Words Variables
Réduction de
dimension
Apprentissage
Test
Evaluation
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
Architecture de l’application
get_descriptors
image_path
Get_path
rdd_desc
ima_collected
sdf_ima_cat
kmeans_train
nb_cat kmeans_pred
km_model
list_km_pred bow_creation
bow_reduce
nb_clusters
data_set_name
df_lab_features pca_dim
ima_cat, ima, desc
image
get_images_descriptors
sdf_bow
1 2
3 4
5
6
Fonctions
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
4 Conception
rdd_images
rdd_cat_ima_desc
rdd_cat_ima_desc_f
rdd_cat rdd_ima rdd_desc
list_cat list_ima
km_model
sdf_ima_cat
kmeans train
rdd_km_pred
reduceByKey
list_km_pred
rdd_ima_pred
sdf_words sdf_bow
CountVectorizer
kmeans pred
rdd_words
sdf_lab_features
PCA
map
filtre
flatMap
test_lab_pred
CLS
Architecture de l’application
Objets
transformation
action
Collecte
Collecte
Mise en
cache
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Le Cloud
• Accès à des ressources distantes
• Calcul (CPU, mémoire…)
• Stockage (espace disque)
• Elasticité
• Modification des capacités
• Gestion des coûts
• Facturation à l’utilisation
Solutions
AWS (Amazon Web Service)
• Serveurs de calcul
• Elastic Compute Cloud (EC2)
• Clusters
• Elastic Map Reduce (EMR)
 Framework Hadoop hébergé
• Stockage
• Simple Storage Service (S3)
 Connecteur HDFS
Plateforme pour le Big Data
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
EC2
instances
S3
bucket
Données
Objets
S3AFileSystem
- Images (fruits)
- Bag of words
- Logs
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Création d’un Cluster avec EMR
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Création d’un Cluster avec EMR
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Création d’un Cluster avec EMR
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
Nombre de partitions
5 Déploiement dans le Cloud
Cluster EMR
MASTER
NODE 1
NODE 2
CORE 1
CORE 2
CORE 3
CORE 4
CORE 1
CORE 2
CORE 3
CORE 4
6 cœurs virtuels
3 partitions par cœur
 Minimum 18 partitions
Cluster
Manager
16 Gb
Worker
Executor
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Accès au driver via SSH
Cluster EMR
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Connecter un notebook Jupyter
Cluster EMR
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Notebook Jupyter (noyau spark)
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Notebook Jupyter (noyau PySpark)
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Résultats comparatifs
vs
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
Redimensionnement du Cluster EMR
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
2 instances
(8 cœurs)
4 instances
(16 cœurs)
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
AWS S3 (Simple Storage Service)
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Déploiement dans le Cloud
AWS S3 (Simple Storage Service)
Affichage console Export fichier
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
6 Contrôle Web UI
…
Processeur double cœur (4 processeurs logiques)
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
6 Contrôle Web UI
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
6 Contrôle Web UI
task 0
task 2
task 1 task 3
task 4
Processeur double cœur (4 processeurs logiques)
1 tâche par processeur (executor) à la fois
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
6 Contrôle Web UI
2 instances (8 processeurs logiques)
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Prochaines étapes
Optimisation du code
• Analyse des tâches
• Optimisation
Dimension de l’architecture
• Serveurs de calcul
• Nombre de cores
• Nombre de partitions
• Stockage
• Croissance du volume des images
• Dimension des images
Modèle de classification
• Choix d’un modèle
• Performances
Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04
Déploiement d’un modèle dans le Cloud
5 Conclusion
Configuration de l’architecture Big Data
• Complexe
 Ressources: Data Architect…
 Services: AWS…
Programmation calcul distribué
• Plusieurs langages dont Python
 Nouvelle syntaxe (PySpark)
• Optimisation
 Liée à l’architecture
Le Big Data: plus que des big data
 Transformation des processus métiers

Contenu connexe

Tendances

Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
Mathieu Goeminne
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
Takfarinas KENOUCHE
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture
Lilia Sfaxi
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
Lilia Sfaxi
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
Alexis Seigneurin
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
Amal Abid
 
Scikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en PythonScikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en Python
Gael Varoquaux
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
Lilia Sfaxi
 
Big data : défis & technologies
Big data : défis & technologiesBig data : défis & technologies
Big data : défis & technologies
Mohamed Ramzi Haddad
 
Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
Soft Computing
 
Moteur de Recommandation
Moteur de RecommandationMoteur de Recommandation
Moteur de Recommandation
Soft Computing
 
NLP - Prédictions de tags sur les questions Stackoverflow
NLP - Prédictions de tags sur les questions StackoverflowNLP - Prédictions de tags sur les questions Stackoverflow
NLP - Prédictions de tags sur les questions Stackoverflow
FUMERY Michael
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
Lilia Sfaxi
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
Lilia Sfaxi
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
Antoine Augusti
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
FP Growth Algorithm
FP Growth AlgorithmFP Growth Algorithm
FP Growth Algorithm
CHOUAIB EL HACHIMI
 
Une introduction à MapReduce
Une introduction à MapReduceUne introduction à MapReduce
Une introduction à MapReduce
Modern Data Stack France
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
Oussama ARBI
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
kamar MEDDAH
 

Tendances (20)

Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Scikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en PythonScikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en Python
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Big data : défis & technologies
Big data : défis & technologiesBig data : défis & technologies
Big data : défis & technologies
 
Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
 
Moteur de Recommandation
Moteur de RecommandationMoteur de Recommandation
Moteur de Recommandation
 
NLP - Prédictions de tags sur les questions Stackoverflow
NLP - Prédictions de tags sur les questions StackoverflowNLP - Prédictions de tags sur les questions Stackoverflow
NLP - Prédictions de tags sur les questions Stackoverflow
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
FP Growth Algorithm
FP Growth AlgorithmFP Growth Algorithm
FP Growth Algorithm
 
Une introduction à MapReduce
Une introduction à MapReduceUne introduction à MapReduce
Une introduction à MapReduce
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 

Similaire à P8 03 presentation

Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
Alexia Audevart
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
Pierre-Marie Brunet
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
Ludovic Piot
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
Microsoft
 
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data VirtualizationSession en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Denodo
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
BlueData EPIC datasheet (en Français)
BlueData EPIC datasheet (en Français)BlueData EPIC datasheet (en Français)
BlueData EPIC datasheet (en Français)
BlueData, Inc.
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
Oxalide
 
Big data architectures
Big data architecturesBig data architectures
Big data architectures
Mariem Khalfaoui
 
Big sql4meetup
Big sql4meetupBig sql4meetup
Big sql4meetup
Jacques Milman
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017
Dr Hajji Hicham
 
Les technologies big data avec speech commentaries
Les technologies big data avec speech commentariesLes technologies big data avec speech commentaries
Les technologies big data avec speech commentaries
Rima Jamli Faidi
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
Microsoft
 
Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Hadoop et son écosystème - v2
Hadoop et son écosystème - v2
Khanh Maudoux
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
Arrow-Institute
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
Arrow Group
 
Découverte de la Graph Data Science
Découverte de la Graph Data ScienceDécouverte de la Graph Data Science
Découverte de la Graph Data Science
Neo4j
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
AZUG FR
 
Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018
Converteo
 

Similaire à P8 03 presentation (20)

Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data VirtualizationSession en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
OWF12/BIG DATA OWF OpenSearchServer light
OWF12/BIG DATA OWF OpenSearchServer lightOWF12/BIG DATA OWF OpenSearchServer light
OWF12/BIG DATA OWF OpenSearchServer light
 
BlueData EPIC datasheet (en Français)
BlueData EPIC datasheet (en Français)BlueData EPIC datasheet (en Français)
BlueData EPIC datasheet (en Français)
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
 
Big data architectures
Big data architecturesBig data architectures
Big data architectures
 
Big sql4meetup
Big sql4meetupBig sql4meetup
Big sql4meetup
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017
 
Les technologies big data avec speech commentaries
Les technologies big data avec speech commentariesLes technologies big data avec speech commentaries
Les technologies big data avec speech commentaries
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Hadoop et son écosystème - v2
Hadoop et son écosystème - v2
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Découverte de la Graph Data Science
Découverte de la Graph Data ScienceDécouverte de la Graph Data Science
Découverte de la Graph Data Science
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
 
Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018
 

Dernier

Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024
contact Elabe
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
contact Elabe
 
Webinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptxWebinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptx
Institut de l'Elevage - Idele
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
contact Elabe
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
contact Elabe
 
Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?
Institut de l'Elevage - Idele
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
contact Elabe
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
contact Elabe
 
Productivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointementProductivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointement
La Fabrique de l'industrie
 
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdfBarometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Paperjam_redaction
 

Dernier (10)

Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
 
Webinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptxWebinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptx
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
 
Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
 
Productivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointementProductivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointement
 
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdfBarometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
 

P8 03 presentation

  • 1. Déploiement d’un modèle de classification d’images dans le Cloud Parcours Data Scientist Déployez un modèle dans le Cloud Etudiant: Eric Wendling Mentor: Julien Heiduk Date: 04/12/2020 Projet 8 :
  • 2. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 1 Présentation du projet Contexte Développement de systèmes innovants pour la préservation de la biodiversité des fruits • Robots cueilleurs intelligents • Application mobile pour la reconnaissance de fruits Développement d’un moteur de classification de fruits • Augmentation rapide du volume de données  Prototype architecture Big Data Notebook Jupyter • PySpark • Etapes de traitement des données Objectif Livrable
  • 3. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 1 Présentation du projet Données Images de fruits • Propriétés • Dimensions (pixels): 100 X 100 • Profondeur: 24 Stockage Source: Horea Muresan, Mihai Oltean. Fruit recognition from images using deep learning. JEU DE TEST 131 répertoires (catégories) 22 688 images 152 Mo JEU D’ENTRAINEMENT 131 répertoires (catégories) 67 692 images 467 Mo
  • 4. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 2 Modélisation Techniques de classification d’images Réseaux de neurones convolutifs  Identification auto des variables explicatives Autres techniques d’apprentissage supervisé  Détermination des variables explicatives
  • 5. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud Points d’intérêts et descripteurs • OpenCV • SIFT, ORB, SURF 2 Modélisation Variables explicatives Descripteurs Points d’intérêt image 0 image 241 … …
  • 6. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud Visual Words • Clustering des descripteurs • Modèle K-Means  K clusters (centroïdes) Variables • Classification des descripteurs • Prédictions modèle K-Means • Bag of Words • Historisation ₋ Variables = clusters (visual words) ₋ Valeurs = nombre de cluster par image Poids • Matrice des descripteurs 2 Modélisation Variables explicatives Visual Words Clustering Prédiction Jeu de données Nombre d’images Nombre de points d’intérêt par image Nombre de descripteurs total Poids d’un descripteur (octets) Poids total (Gb) Entraînement 67692 50 3384600 977 3,3 Test 22688 50 1134400 977 1,1
  • 7. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Big Data Important volume de données • Scalabilité • Augmentation des ressources (serveurs, RAM…) • Limites • Lorsque les solutions classiques de stockage, de gestion et de traitement sont insuffisantes Les 3V du Big Data • Volume • Stockage • Vélocité • Traitement temps réel • Variété • Données structurées / non structurées Calcul distribué • Clusters de calcul • Passage à l’échelle horizontal • Plus grande tolérance aux pannes • Transfert de tâches entre nœuds du cluster • Recréer l’état du nœud en échec
  • 8. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data MapReduce Cadre générique pour le calcul distribué • Diviser pour régner • Problème  Sous-problèmes  Résolutions  Combinaison des résultats • Combinaison de 2 fonctions simples • Map: transformation • Reduce: agrégation SOCRATE : Prétends-tu que l'agréable soit identique au bon, ou bien y a- t-il de l'agréable qui ne soit pas bon ? prétendre agréable soit identique bon ou agréable soit pas bon (prétendre, 1) (agréable, 1, 1) (soit, 1, 1) (identique, 1) (bon, 1, 1) (ou, 1) (pas, 1) (prétendre, 1) (agréable, 1) (soit, 1) (identique, 1) (bon, 1) (ou, 1) (agréable, 1) (soit, 1) (pas, 1) (bon, 1) (prétendre, 1) (agréable, 2) (soit, 2) (identique, 1) (bon, 2) (ou, 1) (pas, 1) SPLIT MAP SHUFFLE REDUCE Application de comptage de mots
  • 9. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Hadoop 1.0 (Apache) Infrastructure de référence pour MapReduce • Socle technique • HDFS (Hadoop Distributed File System) • Framework MapReduce • Architecture HDFS • Type maître / esclaves • Distribution des fichiers • Réplication des fichiers • Colocalisation données/traitements • Framework MapReduce • Type maître / esclaves • Ordonnancement traitements • Distribution de l’exécution • Localisation des fichiers Name Node Data Node 1 Task Tracker Data Node 2 Task Tracker Data Node 3 Task Tracker Secondary Name Node 64 Mo Blocs dupliqués (tolérance aux pannes) CLIENT Job Tracker Node Task Tracker Fichier découpé en blocs Réplication
  • 10. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Hadoop 2.0 (Apache) Optimisation de l’architecture • YARN • Yet Another Ressource Negociator • Exécution de tout type d’applications • Hadoop Streaming • Utilisation d’autres langages que Java Installation / Distributions • Installation manuelle • Paquets • Distribution intégrée • Services • Cloud • Services Limites • Ecriture sur disque • Ecriture sur disque des données entre 2 étapes (Map Reduce)  Lenteur d’exécution • Jeu d’instructions limité • Map et Reduce  Difficulté de réaliser des opérations complexes
  • 11. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Spark (Apache) Description • Framework open source de calcul distribué Avantages • Données stockées en RAM  Rapidité d’exécution (X10 à X100 par rapport à Hadoop) • Jeu d’instructions optimisé • Nombreuses opérations en mode distribué • Réduction automatique niveau Map / Reduce Langages de programmation • Java • Scala (natif) • Python  API PySpark Temps réel Machine Learning
  • 12. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Spark (Apache) Architecture • Type Maître / Esclaves • Gestion des fichiers: HDFS • Hadoop Map Reduce Distribution des calculs • Classe SparkContext  Configuration de l’application  Lecture des données • Création d’un objet de type RDD (Resilient Distributed Dataset)  Format permettant la distribution des calculs  Optimisé pour la tolérance aux pannes  Type clé / valeur Driver Worker 1 Executor Task 1 Task 2 … Worker 2 Executor Task 1 Task 2 … Worker 3 Executor Task 1 Task 2 … (prétendre, 1) (agréable, 1) (soit, 1) (identique, 1) (bon, 1) (ou, 1) (agréable, 1) (soit, 1) (pas, 1) (bon, 1) Source: Documentation de Spark clé valeur
  • 13. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Spark (Apache) RDD (Resilient Distributed Dataset) • Types d’opérations • Transformation • Action • DAG (Directed Acyclic Graph)  Tolérance aux pannes • Lazy evaluation • Evaluation des transformations au moment utile  Lors d’une action RDD 1 RDD 2 RDD 3 Transformation Résultat Action Transformation RDD 4 RDD 5 Transformation Résultat Action évaluation
  • 14. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud RDD (Resilient Distributed Dataset) • Distribution par partition  Calcul distribué 3 Architecture Big Data Spark (Apache) Task 1 Task 2 Task 3 Partition Partition Partition Etape RDD Driver Worker 1 Executor Task 1 … … Worker 2 Executor Task 2 Task 3 … Worker 3 Executor Task 4 … … Task 4 Partition
  • 15. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Spark - Langage Python Installation (LOCAL) • Packages • Java • Python3 • Jupyter Notebook • Spark / PySpark • Variables d’environnement eric@eric-VirtualBox:~/OC_DS_P8$ spark-submit --master local[2] P8_01_spark.py True data/fruits_360… Console Spark - Python
  • 16. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 3 Architecture Big Data Spark - Langage Python Installation (LOCAL) • Packages • Java • Python3 • Jupyter Notebook • Spark / PySpark • Variables d’environnement
  • 17. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception Descripteurs - Détection des points d’intérêt - Calcul des descripteurs Visual Words - Clustering K-Means - Clusters = Visual Words Bag of Words - Prédiction K-Means - Regroupement des Visuals Words par image Variables - Historisation - Variables = Visual Words Réduction de dimension Classification - Random Forest - MLP - ACP
  • 18. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception Descripteurs Visual Words Bag of Words Variables Réduction de dimension Classification
  • 19. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception Visual Words Descripteurs Bag of Words Variables Réduction de dimension Classification Visual Words
  • 20. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud Concaténation des identifiants des images (encodés) et des prédictions (clusters K-Means) 4 Conception Descripteurs Variables Réduction de dimension Classification Bag of Words Visual Words ReduceByKey
  • 21. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception Descripteurs Réduction de dimension Classification Visual Words Variables Bag of Words CountVectorizer transformation DataFrame des variables explicatives Nombre de visuals words uniques (30)
  • 22. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception Descripteurs Classification Visual Words Bag of Words Réduction de dimension Variables PCA
  • 23. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception Classification Descripteurs Visual Words Bag of Words Variables Réduction de dimension Apprentissage Test Evaluation
  • 24. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception Architecture de l’application get_descriptors image_path Get_path rdd_desc ima_collected sdf_ima_cat kmeans_train nb_cat kmeans_pred km_model list_km_pred bow_creation bow_reduce nb_clusters data_set_name df_lab_features pca_dim ima_cat, ima, desc image get_images_descriptors sdf_bow 1 2 3 4 5 6 Fonctions
  • 25. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 4 Conception rdd_images rdd_cat_ima_desc rdd_cat_ima_desc_f rdd_cat rdd_ima rdd_desc list_cat list_ima km_model sdf_ima_cat kmeans train rdd_km_pred reduceByKey list_km_pred rdd_ima_pred sdf_words sdf_bow CountVectorizer kmeans pred rdd_words sdf_lab_features PCA map filtre flatMap test_lab_pred CLS Architecture de l’application Objets transformation action Collecte Collecte Mise en cache
  • 26. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Le Cloud • Accès à des ressources distantes • Calcul (CPU, mémoire…) • Stockage (espace disque) • Elasticité • Modification des capacités • Gestion des coûts • Facturation à l’utilisation Solutions AWS (Amazon Web Service) • Serveurs de calcul • Elastic Compute Cloud (EC2) • Clusters • Elastic Map Reduce (EMR)  Framework Hadoop hébergé • Stockage • Simple Storage Service (S3)  Connecteur HDFS Plateforme pour le Big Data
  • 27. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud EC2 instances S3 bucket Données Objets S3AFileSystem - Images (fruits) - Bag of words - Logs
  • 28. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Création d’un Cluster avec EMR
  • 29. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Création d’un Cluster avec EMR
  • 30. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Création d’un Cluster avec EMR
  • 31. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud Nombre de partitions 5 Déploiement dans le Cloud Cluster EMR MASTER NODE 1 NODE 2 CORE 1 CORE 2 CORE 3 CORE 4 CORE 1 CORE 2 CORE 3 CORE 4 6 cœurs virtuels 3 partitions par cœur  Minimum 18 partitions Cluster Manager 16 Gb Worker Executor
  • 32. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Accès au driver via SSH Cluster EMR
  • 33. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Connecter un notebook Jupyter Cluster EMR
  • 34. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Notebook Jupyter (noyau spark)
  • 35. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Notebook Jupyter (noyau PySpark)
  • 36. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Résultats comparatifs vs
  • 37. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud Redimensionnement du Cluster EMR
  • 38. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud 2 instances (8 cœurs) 4 instances (16 cœurs)
  • 39. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud AWS S3 (Simple Storage Service)
  • 40. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Déploiement dans le Cloud AWS S3 (Simple Storage Service) Affichage console Export fichier
  • 41. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 6 Contrôle Web UI … Processeur double cœur (4 processeurs logiques)
  • 42. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 6 Contrôle Web UI
  • 43. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 6 Contrôle Web UI task 0 task 2 task 1 task 3 task 4 Processeur double cœur (4 processeurs logiques) 1 tâche par processeur (executor) à la fois
  • 44. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 6 Contrôle Web UI 2 instances (8 processeurs logiques)
  • 45. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Prochaines étapes Optimisation du code • Analyse des tâches • Optimisation Dimension de l’architecture • Serveurs de calcul • Nombre de cores • Nombre de partitions • Stockage • Croissance du volume des images • Dimension des images Modèle de classification • Choix d’un modèle • Performances
  • 46. Parcours Data Scientist Projet 8: Déployez un modèle dans le cloud Eric Wendling 2020-12-04 Déploiement d’un modèle dans le Cloud 5 Conclusion Configuration de l’architecture Big Data • Complexe  Ressources: Data Architect…  Services: AWS… Programmation calcul distribué • Plusieurs langages dont Python  Nouvelle syntaxe (PySpark) • Optimisation  Liée à l’architecture Le Big Data: plus que des big data  Transformation des processus métiers