Apprentissage profond appliqué avec PyTorch (De zéro à maîtrise)
Ce cours propose une introduction complète au deep learning en utilisant PyTorch, le framework le plus populaire pour la recherche en apprentissage automatique. En partant des fondamentaux des tenseurs, les étudiants progresseront à travers l'ensemble du processus de machine learning, la vision par ordinateur, l'ingénierie logicielle modulaire, le transfert d'apprentissage et le déploiement des modèles. Le programme est orienté "code-first", mettant l'accent sur l'implémentation pratique et l'expérimentation.
Aperçu du cours
📚 Résumé du contenu
Ce cours offre une introduction complète au deep learning en utilisant PyTorch, le cadre le plus populaire pour la recherche en apprentissage automatique. En partant des bases des tenseurs, les étudiants progresseront à travers l'intégralité du flux de travail d'apprentissage automatique, la vision par ordinateur, l'ingénierie logicielle modulaire, le transfert d'apprentissage et le déploiement des modèles. Le programme est conçu selon une approche "code-first", mettant l'accent sur l'implémentation pratique et l'expérimentation, garantissant que les étudiants non seulement comprennent la théorie mais peuvent aussi concevoir, optimiser et déployer des systèmes robustes de deep learning.
Un bref résumé des objectifs principaux consiste à maîtriser l'écosystème PyTorch dans sa globalité, passant des mathématiques fondamentales aux applications de vision par ordinateur prêtes pour la production.
🎯 Objectifs d'apprentissage
- Implémenter l'intégralité du flux de travail machine learning PyTorch, depuis les opérations fondamentales sur les tenseurs jusqu'à l'entraînement, l'évaluation et la persistance du modèle.
- Concevoir et déployer des architectures de deep learning, y compris les réseaux de neurones artificiels (ANN) et les réseaux de neurones convolutifs (CNN), pour des tâches complexes de classification et de vision par ordinateur.
- Transformer un code expérimental en logiciel modulaire prêt pour la production en adoptant des pratiques d'ingénierie standardisées et des structures de répertoires définies.
- Utiliser des techniques avancées comme le transfert d'apprentissage et le suivi systématique des expériences (TensorBoard) afin d'obtenir des résultats de pointe sur des jeux de données personnalisés.
- Préparer et déployer des modèles entraînés dans des applications web interactives et tirer parti des fonctionnalités modernes de PyTorch 2.0 pour accélérer l'inférence.
Leçons 共 10 课时 · 预计 30.0h
Leçons
Lesson
This lesson introduces PyTorch tensors as the fundamental data structures for deep learning, emphasizing their role in GPU-accelerated computation and automatic differentiation. Students will learn to manage tensor properties like shape, dtype, and device, while mastering essential manipulation techniques for building and training neural networks.
This lesson introduces the standardized six-pillar PyTorch workflow, providing a repeatable blueprint for building, training, and deploying deep learning models. Students will learn how to manage data preparation, tensor alignment, and the core training loop to ensure robust model performance and generalization.
This lesson explores the necessity of non-linear activation functions, such as ReLU, in deep neural networks to overcome the limitations of linear models when classifying complex, non-linear data. Students will learn how to build and train a PyTorch model capable of forming intricate decision boundaries using hidden layers and appropriate loss functions like Binary Cross Entropy.
This lesson introduces Convolutional Neural Networks (CNNs) as an efficient alternative to fully connected networks for processing high-dimensional image data. Students will learn how CNNs utilize local receptive fields, shared weights, and pooling to achieve parameter efficiency, as well as how to format image data into the required (N, C, H, W) tensor structure for PyTorch.
This lesson explores how to build efficient data pipelines in PyTorch by transitioning from simple toy datasets to managing complex, real-world data. Students learn to decouple data processing by using the Dataset class for individual sample retrieval and transformation, and the DataLoader for optimized, parallelized batch delivery.
This lesson explores the transition from experimental Jupyter Notebooks to production-ready modular Python scripts by emphasizing the importance of the Separation of Concerns principle. Students learn to organize deep learning projects into distinct components—such as data setup, model architecture, and training logic—to improve code reproducibility, testability, and scalability.
This lesson introduces transfer learning as a solution to the high resource demands of deep learning by reusing pre-trained models to achieve high accuracy with limited data. Students learn how to freeze feature extraction layers and adapt the classifier head in PyTorch to effectively apply generalized visual knowledge to specific new tasks.
This lesson explores the necessity of systematic experiment tracking in deep learning to overcome the reproducibility crisis and ensure reliable model development. Students learn how to implement automated tracking for hyperparameters, environment states, and performance metrics to facilitate effective debugging, optimization, and project collaboration.
This lesson focuses on the transition from theoretical research to practical engineering by teaching students how to deconstruct scientific papers into modular, high-performance PyTorch code. You will learn to map complex mathematical architectures like the Vision Transformer into functional components while mastering systematic debugging techniques for tensor shapes and data types.
This lesson covers the transition from exploratory research to production-ready deployment by focusing on refactoring code into modular, stateless services. Students will learn how to optimize models for low-latency inference, ensure reproducibility, and properly export model artifacts using state dictionaries and inference mode.