Plan du cours
Introduction
- Introduction à TensorFlow et à l'apprentissage profond
- Cas d'usage et applications de TensorFlow
- Écosystème et outils de TensorFlow
- Flux de travail pour le machine learning et l'apprentissage profond
- Aperçu des objectifs du cours et des exercices pratiques
TensorFlow 2.x par rapport aux versions précédentes — Nouveautés
- Différences clés entre TensorFlow 1.x et 2.x
- Exécution immédiate (eager execution)
- API simplifiées et meilleure utilisabilité
- Changements dans la construction et l'entraînement des modèles
- Introduction à Keras comme API de haut niveau
- Considérations relatives à la migration des applications TensorFlow existantes
- Bonnes pratiques pour TensorFlow 2.x
Configuration de TensorFlow 2.x
- Installation de TensorFlow
- Configuration d'un 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
Aperçu 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 de calcul et exécution immédiate
- Différenciation automatique
- API et modules de TensorFlow
- Intégration de Keras
- Flux de données avec
tf.data - Sérialisation de modèles et format TensorFlow SavedModel
- Écosystème de TensorFlow et flux de travail 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
- Fonctions de perte
- Rétropropagation du gradient
- Descente de gradient et optimisation
- Taux d'apprentissage et stratégies d'optimisation
- Surapprentissage et sous-apprentissage
- Techniques de régularisation
- Joues de données d'entraînement, de validation et de test
Utilisation de TensorFlow 2.x pour créer des modèles d'apprentissage profond
- Création de tenseurs et de variables
- Construction de réseaux de neurones avec Keras
- APIs 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
- 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 des motifs et des 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 de fonctionnalités pertinentes
- 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 fonctionnalités
- Prétraitement d'images
- Prétraitement de texte
- Augmentation des données
- Construction de pipelines d'entrée efficaces
- Utilisation de
tf.data - Batching, mélange (shuffling), mise en cache et pré-chargement
- 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 de la performance du modèle
- Prévention du surapprentissage
- Mise en œuvre de la régularisation et du dropout
Mise en œuvre d'un classifieur d'images de pointe
- 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
- Utilisation de modèles pré-entraînés
- Ajustement fin (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 du lot (batch size) et nombre d'époques
- Sélection de l'optimiseur
- Planification du taux d'apprentissage
- Callbacks d'entraînement
- Arrêt anticipé (early stopping)
- Création de points de contrôle pour les modèles
- Surveillance de la progression de l'entraînement
- Détection du surapprentissage
- Amélioration des performances d'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 sur GPU
- Compréhension de l'entraînement basé sur les TPU
- Sélection du matériel pour différentes charges de travail
- Transfert de calculs entre les périphériques
- 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 et score F1
- Métriques d'évaluation pour la 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 points faibles du modèle
- Comparaison de différentes configurations de modèles
Effectuer des prédictions
- Utilisation de modèles entraînés pour l'inférence
- Préparation de nouvelles données d'entrée
- Réalisation de prédictions par lot et individuelles
- Interprétation des sorties du modèle
- Probabilités de classification
- Prédictions de régression
- Construction d'un flux de travail d'inférence
- Gestion des données non vues
- 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 dans les données et les prédictions
- Amélioration des performances du modèle en fonction de l'analyse des prédictions
Dépannage du modèle
- Identification des problèmes courants d'entraînement
- Diagnostic des prédictions incorrectes
- Dépannage des pipelines de données
- Investigation du comportement de la perte et des métriques
- Détection des gradients explosifs et évanescent
- Diagnostic du surapprentissage et du sous-apprentissage
- Inspection 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
Sauvegarde d'un modèle
- Sauvegarde des modèles entraînés
- Format TensorFlow SavedModel
- Sauvegarde et restauration des poids du modèle
- Sauvegarde de l'architecture et de la configuration du modèle
- Chargement de modèles pour l'inférence
- Gestion des versions de modèles
- Exportation de modèles pour le déploiement
- Gestion des artefacts du modèle
- Préparation des modèles pour les environnements de production
Déploiement d'un modèle sur le cloud
- Introduction au déploiement de modèles basé sur le cloud
- Préparation des modèles TensorFlow pour la production
- Fourniture de modèles via des API
- Concepts de service de modèles
- Conteneurisation des applications TensorFlow
- Inférence basée sur le cloud
- Passage à 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 de modèles dans des applications mobiles
- Test des performances d'inférence mobile
Déploiement d'un modèle sur un système embarqué (IoT)
- Machine learning sur les appareils 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 à la périphérie (edge inference)
- Traitement des données de capteurs et des données en temps réel
- Exécution de prédictions localement
- Considérations relatives à l'alimentation électrique et à la mémoire
- Intégration des modèles TensorFlow dans les flux de travail IoT
- Test et surveillance des déploiements à la périphérie
Intégration d'un modèle avec différents langages
- Interopérabilité des modèles TensorFlow
- Fourniture de modèles via des API
- Utilisation de modèles TensorFlow depuis différents environnements de programmation
- Intégration de modèles basée sur Python
- Intégration de modèles dans des 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 de 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 la sauvegarde de modèles
- Débogage des problèmes de déploiement
- Exercices pratiques de dépannage
Synthèse et conclusion
- Revue des concepts de TensorFlow 2.x
- Revue des flux de travail des réseaux de neurones et de l'apprentissage profond
- Revue de la préparation des données et du développement de modèles
- Revue de la classification d'images
- Revue des techniques d'entraînement et d'évaluation
- Revue du débogage et de l'optimisation des modèles
- Revue du déploiement sur le cloud, le mobile et l'IoT
- Bonnes pratiques pour le développement avec TensorFlow
- Exercice pratique final
- Questions et discussion
Pré requis
- Expérience de la programmation en Python.
- Expérience avec la ligne de commande Linux.
Public cible
- Développeurs
- Scientifiques de 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