API Functional
Résumé
L’API fonctionnelle de TensorFlow offre plus de flexibilité et de contrôle par rapport à l’API séquentielle. Elle permet de créer des modèles complexes avec plusieurs entrées/sorties et des couches partagées. Voici les principaux points abordés dans ce cours :
- Définition d’entrées, de couches et du modèle
- Construction d’un modèle produit plusieurs sorties
- Création d’un réseau Siamese
Points clés à considérer
- L’API fonctionnelle est particulièrement utile pour :
- Les réseaux complexes comme les réseaux résiduels ou Siamese
- Les modèles avec plusieurs entrées/sorties
- Le partage de couches entre différents parties du modèle
- Elle offre plus de contrôle sur la structure du modèle que l’API séquentielle
- Permet de créer des architectures personnalisées adaptées aux besoins spécifiques
Exemple de code
Voici un exemple simple d’utilisation de l’API fonctionnelle pour construire un modèle avec deux sorties :
Bonnes pratiques
- Utilisez l’API fonctionnelle lorsque vous avez besoin de plus de flexibilité
- Partagez des couches entre différentes parties du modèle quand c’est pertinent
- Visualisez toujours le graphique du modèle pour vérifier sa structure
- Compilez et entraînez le modèle comme avec l’API séquentielle
API Fonctionnelle de TensorFlow
Introduction
L’API fonctionnelle de TensorFlow est une façon flexible de créer des modèles complexes avec des architectures non linéaires. Contrairement à l’API séquentielle, l’API fonctionnelle permet de définir des modèles avec des topologies plus avancées, telles que des modèles multi-entrées/multi-sorties ou des modèles avec des couches partagées.
Concepts clés
- Tenseurs : Objets de base représentant les données dans TensorFlow.
- Couches : Opérations appliquées aux tenseurs.
- Modèle : Graphe de couches interconnectées.
Création d’un modèle avec l’API fonctionnelle
Étape 1 : Définir les entrées
Étape 2 : Définir les couches
Étape 3 : Créer le modèle
Avantages de l’API fonctionnelle
- Flexibilité : Permet de créer des architectures complexes.
- Réutilisabilité : Les couches peuvent être partagées entre différentes parties du modèle.
- Visualisation : Facilite la visualisation du graphe du modèle.
Cas d’utilisation avancés
Modèles multi-entrées
Modèles multi-sorties
Bonnes pratiques
- Nommez vos couches pour une meilleure lisibilité.
- Utilisez
model.summary()
pour visualiser l’architecture du modèle. - Pensez à la réutilisabilité des couches lors de la conception de modèles complexes.
Conclusion
L’API fonctionnelle de TensorFlow offre une grande flexibilité pour créer des architectures de modèles complexes. Elle est particulièrement utile pour les projets nécessitant des topologies non linéaires ou des modèles avec plusieurs entrées ou sorties.
Citations: [1] https://www.tensorflow.org/guide/keras/functional_api [2] https://medium.com/thedeephub/sequential-vs-functional-vs-subclassing-api-in-tensorflow-8bfcfe91859d [3] https://stackoverflow.com/questions/58092176/keras-sequential-vs-functional-api-for-multi-task-learning-neural-network [4] https://medium.com/@rfajri912/an-introduction-to-tensorflows-functional-api-building-flexible-neural-network-architectures-634fd585959d [5] https://goodboychan.github.io/python/coursera/tensorflow/deeplearning.ai/2022/02/05/01-Tensorflow2-Functional-API.html [6] https://pub.aimind.so/demystifying-tensorflows-sequential-api-and-functional-api-a-comprehensive-guide-c68689df40ba [7] https://github.com/Ankit-Kumar-Saini/Coursera_TensorFlow_Advanced_Techniques_Specialization [8] https://www.youtube.com/watch?v=pAhPiF3yiXI