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 de l'apprentissage automatique et du deep learning
- Aperçu 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 immédiate
- 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 de migration pour les applications TensorFlow existantes
- Meilleures 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 des 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
- Dérivation automatique
- API et modules de TensorFlow
- Intégration de Keras
- Chaînes de traitement 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
- Fondements des réseaux de neurones artificiels
- Neurones, couches et architectures de réseaux
- Fonctions d'activation
- Propagation avant
- Fonctions de perte
- Rétropropagation
- Descente de gradient et optimisation
- Taux d'apprentissage et stratégies d'optimisation
- Surapprentissage et sous-apprentissage
- Techniques de régularisation
- Jets de données d'entraînement, de validation et de test
Utilisation de TensorFlow 2.x pour créer des modèles de deep learning
- 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 des 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 des modèles
Analyse des données
- Comprendre les jeux de données pour l'apprentissage automatique
- Explorer les données structurées et non structurées
- Visualisation des données
- Identification des motifs et des anomalies
- Prise en charge 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
- 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
- Prise en charge des valeurs manquantes
- Mise à l'échelle des caractéristiques
- Prétraitement des images
- Prétraitement du texte
- Augmentation des données
- Construction de chaînes d'entrée efficaces
- Utilisation de
tf.data - Mise en lots, mélange, mise en cache et récupération anticipée
- 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 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
- Mise en œuvre de la régularisation et du dropout
Mise en œuvre d'un classifieur d'images de pointe
- Fondements de la classification d'images
- Préparation des jeux de données d'images
- Normalisation et augmentation des 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 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 et nombre d'époques
- Sélection de l'optimiseur
- Planification du taux d'apprentissage
- Callbacks d'entraînement
- Arrêt anticipé
- Points de contrôle des 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 ou TPU
- Architectures CPU, GPU et TPU
- Avantages de l'accélération matérielle
- Configuration de TensorFlow pour l'entraînement GPU
- Comprendre l'entraînement basé sur TPU
- Sélection du matériel pour différentes charges de travail
- Déplacement des calculs entre les appareils
- 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 des métriques d'évaluation appropriées
- Précision, précision, rappel et score F1
- Métriques d'évaluation de 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
Prédiction
- 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 d'inférence
- Prise en charge des données inconnues
- Gestion des chaînes 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ébogage du modèle
- Identification des problèmes courants d'entraînement
- Dépannage des prédictions incorrectes
- Débogage des chaînes de traitement de données
- Enquête sur le comportement de la perte et des métriques
- Détection des gradients explosifs et évanescent
- Dépannage 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
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
- Versionnage des modèles
- Exportation des 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 dans le cloud
- Introduction au déploiement de modèles dans le cloud
- Préparation des modèles TensorFlow pour la production
- Service de modèles via des API
- Concepts de service de modèles
- Conteneurisation des applications TensorFlow
- Inférence basée sur le cloud
- Extension des charges de travail de service de modèles
- Surveillance des modèles déployés
- Gestion des versions des modèles
- Considérations relatives au déploiement en production
Déploiement d'un modèle sur un appareil mobile
- Défis de l'apprentissage automatique mobile
- TensorFlow Lite
- Conversion des modèles TensorFlow pour le déploiement mobile
- Optimisation des modèles et réduction de la taille
- Quantification
- Exécution de l'inférence sur les appareils mobiles
- Gestion des ressources des appareils mobiles
- Intégration des modèles dans les applications mobiles
- Test des performances d'inférence mobile
Déploiement d'un modèle sur un système embarqué (IoT)
- Apprentissage automatique sur les appareils embarqués
- TensorFlow Lite pour les applications embarquées
- Contraintes de ressources et optimisation
- Réduction de la taille du modèle et des exigences de calcul
- Inférence à la périphérie
- Traitement des données de capteurs et en temps réel
- Exécution des prédictions localement
- Considérations relatives à l'alimentation 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
- Service de modèles via des API
- Utilisation des modèles TensorFlow à partir de différents environnements de programmation
- Intégration de modèles basée sur Python
- Intégration des modèles dans les applications Web
- Inférence de modèles via des services REST
- Intégration de TensorFlow dans les applications existantes
- Échange de données et sérialisation
- Considérations relatives à l'intégration en production
Dépannage
- Dépannage 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
- Enquête sur les problèmes de configuration GPU et TPU
- Dépannage des problèmes de mémoire et de performances
- 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 de 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, mobile et IoT
- Meilleures pratiques pour le développement TensorFlow
- Exercice pratique final
- Questions et discussion
Pré requis
- Expérience en 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