PyTorch Fundamentals
PyTorch Fundamentals
Module 1 - Getting Started with PyTorch : Tensors et représentation de données multidimensionnelles, opérations sur tensors (reshape, indexing, slicing) pour manipulation, CPU vs GPU device management pour accélération calculs, PyTorch vs NumPy avec différences et conversions seamless, autograd et computation graphs pour différentiation automatique, gradient calculation automatique pour backpropagation. Module 2 - The PyTorch Workflow : Architecture complète d'un projet PyTorch professionnel, build model avec nn.Module pour modularité, training loop standard avec best practices, validation loop pour éviter overfitting, test loop et évaluation finale sur données non vues, loss functions (MSE, CrossEntropy, etc.) selon tâche, optimizers (SGD, Adam, AdamW) pour convergence, metrics tracking et logging avec TensorBoard. Module 3 - Data Management : Datasets PyTorch (built-in et custom) pour flexibilité, DataLoaders et batch processing pour efficacité mémoire, transforms et preprocessing pour normalisation, data augmentation pour images (rotation, flip, crop), custom datasets pour données spécifiques métier, efficient data loading strategies pour GPU saturation, handling imbalanced datasets avec sampling et weighting. Module 4 - Core Neural Network Components : nn.Module en profondeur pour architectures custom, linear layers et fully connected networks, activation functions (ReLU, Sigmoid, Tanh, GELU, SiLU), loss functions détaillées selon problème (classification, régression), optimizers et learning rate scheduling, forward pass implementation claire, backward propagation et gradients flow, gradient descent variants (SGD, momentum, Adam). Projet Final - Image classifier from scratch avec dataset custom, training/validation/test splits rigoureux, évaluation complète (accuracy, precision, recall, F1).
PyTorch - Techniques et Outils Écosystème
PyTorch - Techniques et Outils Écosystème
Module 1 - Hyperparameter Optimization : Learning rate schedulers (StepLR, ReduceLROnPlateau, CosineAnnealing) pour convergence optimale, overfitting detection et solutions (dropout, regularization, early stopping), automated hyperparameter tuning avec Optuna pour recherche efficace, grid search vs random search vs Bayesian optimization comparés, early stopping strategies pour économiser compute, model checkpointing et saving best models automatiquement, cross-validation avec PyTorch pour validation robuste. Module 2 - Working with Images (TorchVision) : Image loading et preprocessing pour Computer Vision, TorchVision transforms (resize, crop, normalize) standardisés, data augmentation avancée (rotation, flip, color jitter, cutout), pre-trained models (ResNet, MobileNet, EfficientNet) du model zoo, transfer learning workflow complet, fine-tuning vs feature extraction selon données disponibles, custom heads pour tâches spécifiques métier, multi-task learning pour partage de représentations. Module 3 - Working with Text (Hugging Face) : Text preprocessing et tokenization pour NLP, tokenizers modernes (WordPiece, BPE, SentencePiece), word embeddings classiques (GloVe, FastText, Word2Vec), transformer embeddings (BERT, DistilBERT, RoBERTa), text classification avec pre-trained models, fine-tuning BERT pour tâches custom avec peu de données, sentiment analysis et NER (Named Entity Recognition) appliqués. Module 4 - Efficient Training Pipelines : PyTorch Profiler pour identifier bottlenecks performance, performance optimization techniques pour GPU saturation, mixed precision training avec AMP (Automatic Mixed Precision) pour 2x speedup, gradient accumulation pour large batches sans OOM, distributed training introduction (DataParallel, DistributedDataParallel), memory optimization et gradient checkpointing pour gros modèles, benchmarking et profiling systématique. Projets : Pneumonia detection à partir de X-rays (Computer Vision appliquée médicale), text classification avec BERT fine-tuning (NLP production-ready), hyperparameter tuning pipeline complet avec Optuna (MLOps).