Prenez contact avec nous

Plan du cours

Introduction

  • Introduction à TensorFlow et au deep learning
  • Cas d'usage et applications de TensorFlow
  • Écosystème et outillage de TensorFlow
  • Flux de travail en machine learning et deep learning
  • Présentation des objectifs du cours et des exercices pratiques

TensorFlow 2.x par rapport aux versions précédentes : les nouveautés

  • Différences clés entre TensorFlow 1.x et 2.x
  • Exécution en mode immédiat (eager execution)
  • API simplifiées et améliorations de l'utilisabilité
  • Modifications de la construction et de l'entraînement des modèles
  • Introduction à Keras en tant qu'API de haut niveau
  • Points de vigilance lors de la migration des applications TensorFlow existantes
  • Meilleures pratiques pour TensorFlow 2.x

Installation de TensorFlow 2.x

  • Installation de TensorFlow
  • Configuration de l'environnement Python
  • Vérification de l'installation de TensorFlow
  • Installation et gestion des dépendances requises
  • Configuration des environnements CPU et GPU
  • Utilisation de TensorFlow avec les notebooks Jupyter
  • Commandes et opérations de base de TensorFlow
  • Dépannage des problèmes d'installation et de configuration

Présentation des fonctionnalités et de l'architecture de TensorFlow 2.x

  • Architecture de TensorFlow et composants principaux
  • Tenseurs et opérations sur les tenseurs
  • Variables et constantes
  • Graphes computationnels et exécution en mode immédiat
  • Différentiation automatique
  • API et modules de TensorFlow
  • Intégration de Keras
  • Flux de données avec tf.data
  • Sérialisation de modèles et TensorFlow SavedModel
  • Écosystème de TensorFlow et flux de développement

Fonctionnement des réseaux de neurones

  • Fondamentaux des réseaux de neurones artificiels
  • Neurones, couches et architectures de réseaux
  • Fonctions d'activation
  • Propagation avant (forward propagation)
  • Fonctions de perte (loss functions)
  • Rétropropagation (backpropagation)
  • Descente de gradient et optimisation
  • Taux d'apprentissage et stratégies d'optimisation
  • Surapprentissage et sous-apprentissage (overfitting et underfitting)
  • Techniques de régularisation
  • Jets de données d'entraînement, de validation et de test

Création de modèles de deep learning avec TensorFlow 2.x

  • Création de tenseurs et de variables
  • Construction de réseaux de neurones avec Keras
  • API de modèles séquentiels et fonctionnels
  • Définition de modèles et de couches personnalisés
  • Configuration des optimiseurs
  • Sélection de fonctions de perte appropriées
  • Entraînement des modèles avec fit()
  • Boucles d'entraînement personnalisées
  • Rappels (callbacks) et surveillance de l'entraînement
  • Gestion des points de contrôle (checkpoints) de modèles

Analyse des données

  • Compréhension des jeux de données pour le machine learning
  • Exploration des données structurées et non structurées
  • Visualisation de données
  • Identification de modèles et d'anomalies
  • Gestion des données manquantes et incohérentes
  • Division des données en ensembles d'entraînement, de validation et de test
  • Sélection des caractéristiques pertinentes (features)
  • Préparation des jeux de données pour les modèles TensorFlow

Prétraitement des données

  • Normalisation et standardisation des données
  • Encodage des données catégorielles
  • Gestion des valeurs manquantes
  • Mise à l'échelle des caractéristiques (feature scaling)
  • Prétraitement d'images
  • Prétraitement de texte
  • Augmentation de données
  • Construction de pipelines d'entrée efficaces
  • Utilisation de tf.data
  • Batching, mélange (shuffling), mise en cache (caching) et pré-récupération (prefetching)
  • Préparation des données pour l'entraînement des modèles

Construction d'un modèle

  • Sélection d'une architecture de réseau de neurones appropriée
  • Définition des entrées et des sorties du modèle
  • Création de réseaux de neurones denses
  • Choix des fonctions d'activation
  • Configuration du modèle pour l'entraînement
  • Sélection des optimiseurs et des fonctions de perte
  • Entraînement et validation du modèle
  • Surveillance des métriques d'entraînement
  • Amélioration des performances du modèle
  • Prévention du surapprentissage
  • Implémentation de la régularisation et du dropout

Implémentation d'un classifieur d'images de dernière génération

  • Fondamentaux de la classification d'images
  • Préparation des jeux de données d'images
  • Normalisation et augmentation d'images
  • Réseaux de neurones convolutifs
  • Couches de convolution et de pooling
  • Conception d'une architecture de classification d'images
  • Apprentissage par transfert (transfer learning)
  • Utilisation de modèles pré-entraînés
  • Micro-réglage (fine-tuning) des réseaux pré-entraînés
  • Construction d'un classifieur d'images avancé
  • Évaluation des performances de classification

Entraînement du modèle

  • Configuration des paramètres d'entraînement
  • Taille des lots (batch size) et époques
  • Sélection de l'optimiseur
  • Planification du taux d'apprentissage
  • Rappels d'entraînement
  • Arrêt anticipé (early stopping)
  • Création de points de contrôle de modèles
  • Surveillance de la progression de l'entraînement
  • Détection du surapprentissage
  • Amélioration des performances de l'entraînement
  • Considérations relatives à l'entraînement distribué

Entraînement sur GPU par rapport à TPU

  • Architectures CPU, GPU et TPU
  • Avantages de l'accélération matérielle
  • Configuration de TensorFlow pour l'entraînement GPU
  • Compréhension de l'entraînement basé sur TPU
  • Sélection du matériel pour différentes charges de travail
  • Transfert des calculs entre dispositifs
  • Gestion de la mémoire et des ressources de calcul
  • Comparaison des performances d'entraînement
  • Stratégies d'entraînement distribué et accéléré

Évaluation du modèle

  • Sélection de métriques d'évaluation appropriées
  • Précision, rappel (recall) et score F1
  • Métriques d'évaluation de régression
  • Matrices de confusion
  • Stratégies de validation
  • Évaluation des modèles de classification
  • Évaluation de la généralisation du modèle
  • Identification des faiblesses du modèle
  • Comparaison de différentes configurations de modèles

Prédiction

  • Utilisation des modèles entraînés pour l'inférence
  • Préparation de nouvelles données d'entrée
  • Réalisation de prédictions en lot et individuelles
  • Interprétation des sorties du modèle
  • Probabilités de classification
  • Prédictions de régression
  • Construction d'un flux d'inférence
  • Gestion des données inconnues
  • Gestion des pipelines de prédiction

Évaluation des prédictions

  • Analyse de la qualité des prédictions
  • Comparaison des prédictions avec les résultats attendus
  • Identification des faux positifs et des faux négatifs
  • Analyse des erreurs
  • Évaluation de la confiance du modèle
  • Visualisation des résultats de prédiction
  • Détection des biais de données et de prédiction
  • Amélioration des performances du modèle sur la base de l'analyse des prédictions

Débogage du modèle

  • Identification des problèmes courants d'entraînement
  • Diagnostic des prédictions incorrectes
  • Débogage des pipelines de données
  • Investigation du comportement de la perte et des métriques
  • Détection des gradients explosifs et évanescents
  • Diagnostic du surapprentissage et du sous-apprentissage
  • Examen des couches et des sorties du modèle
  • Utilisation des outils de débogage et de profilage de TensorFlow
  • Amélioration de la stabilité et des performances du modèle

Enregistrement d'un modèle

  • Enregistrement des modèles entraînés
  • Format TensorFlow SavedModel
  • Enregistrement et restauration des poids du modèle
  • Enregistrement de l'architecture et de la configuration du modèle
  • Chargement des modèles pour l'inférence
  • Gestion des versions de modèles
  • Exportation des modèles pour le déploiement
  • Gestion des artefacts de modèles
  • Préparation des modèles pour les environnements de production

Déploiement d'un modèle dans le cloud

  • Introduction au déploiement de modèles basé sur le cloud
  • Préparation des modèles TensorFlow pour la production
  • Servicing des modèles via des API
  • Concepts de service de modèles
  • Conteneurisation des applications TensorFlow
  • Inférence basée sur le cloud
  • Mise à l'échelle des charges de travail de service de modèles
  • Surveillance des modèles déployés
  • Gestion des versions de modèles
  • Considérations relatives au déploiement en production

Déploiement d'un modèle sur un appareil mobile

  • Défis du machine learning mobile
  • TensorFlow Lite
  • Conversion des modèles TensorFlow pour le déploiement mobile
  • Optimisation des modèles et réduction de leur taille
  • Quantification
  • Exécution de l'inférence sur des appareils mobiles
  • Gestion des ressources des appareils mobiles
  • Intégration des modèles dans les applications mobiles
  • Test des performances de l'inférence mobile

Déploiement d'un modèle sur un système embarqué (IoT)

  • Machine learning sur les dispositifs embarqués
  • TensorFlow Lite pour les applications embarquées
  • Contraintes de ressources et optimisation
  • Réduction de la taille des modèles et des exigences de calcul
  • Inférence en périphérie (edge inference)
  • Traitement des données de capteurs et en temps réel
  • Exécution de prédictions localement
  • Considérations relatives à l'alimentation et à la mémoire
  • Intégration des modèles TensorFlow dans les flux IoT
  • Test et surveillance des déploiements en périphérie

Intégration d'un modèle avec différents langages

  • Interopérabilité des modèles TensorFlow
  • Servicing des modèles via des API
  • Utilisation des modèles TensorFlow depuis différents environnements de programmation
  • Intégration de modèles basés sur Python
  • Intégration de modèles dans les applications web
  • Inférence de modèles via des services basés sur REST
  • Intégration de TensorFlow dans les applications existantes
  • Échange et sérialisation de données
  • Considérations relatives à l'intégration en production

Dépannage

  • Diagnostic des problèmes d'installation de TensorFlow
  • Dépannage des erreurs de construction des modèles
  • Débogage des problèmes de prétraitement des données
  • Résolution des échecs d'entraînement
  • Investigation des problèmes de configuration GPU et TPU
  • Diagnostic des problèmes de mémoire et de performance
  • Dépannage du chargement et de l'enregistrement des modèles
  • Débogage des problèmes de déploiement
  • Exercices pratiques de dépannage

Résumé et conclusion

  • Révision des concepts de TensorFlow 2.x
  • Révision des flux de travail des réseaux de neurones et du deep learning
  • Révision de la préparation des données et du développement des modèles
  • Révision de la classification d'images
  • Révision des techniques d'entraînement et d'évaluation
  • Révision du débogage et de l'optimisation des modèles
  • Révision du déploiement dans le cloud, sur mobile et IoT
  • Meilleures pratiques pour le développement avec TensorFlow
  • Exercice pratique final
  • Questions et discussion

Pré requis

  • Expérience de la programmation en Python.
  • Expérience de la ligne de commande Linux.

Public cible

  • Développeurs
  • Scientifiques des données
 21 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (4)

Cours à venir

Catégories Similaires