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
Nos clients témoignent (4)
La formation était bien organisée et planifiée, et j'en suis sorti(e) avec des connaissances systématisées et une bonne vue d'ensemble des sujets abordés.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Formation - Deep Learning with TensorFlow 2
Traduction automatique
Les connaissances du formateur et le fait qu'il était très accessible. Il pouvait facilement transmettre des connaissances importantes.
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Formation - Deep Learning with TensorFlow 2
Traduction automatique
J'ai apprécié que nous ayons couvert les bases également
Tomasz - Samsung Electronics Polska Sp. z o.o.
Formation - Deep Learning with TensorFlow 2
Traduction automatique
Le formateur a bien expliqué le contenu et a été engageant tout au long de la formation. Il s'arrêtait pour poser des questions et nous laissait trouver nos propres solutions lors de certaines séances pratiques. Il a également bien adapté le cours à nos besoins.
Robert Baker
Formation - Deep Learning with TensorFlow 2.0
Traduction automatique