Torna ai corsi
AI002 Professionale

Deep Learning Applicato con PyTorch (Da Zero a Maestro)

Questo corso offre un'introduzione completa al Deep Learning utilizzando PyTorch, il framework più popolare per la ricerca in campo di machine learning. Partendo dai fondamenti dei tensori, gli studenti affronteranno l'intero flusso di lavoro dell'apprendimento automatico, visione artificiale, ingegneria del software modulare, transfer learning e distribuzione dei modelli. Il programma è basato sul "codice prima", con un'enfasi sulla realizzazione pratica e sperimentazione.

5.0
30.0h
512 studenti
10 lessons
0 mi piace
Intelligenza Artificiale
Inizia ad imparare

Panoramica del corso

📚 Riepilogo del contenuto

Questo corso offre un'introduzione completa all'Apprendimento Profondo con PyTorch, il framework più diffuso per la ricerca in campo machine learning. Partendo dalle basi dei tensori, gli studenti percorreranno l'intero flusso ML, visione artificiale, ingegneria software modulare, transfer learning e deployment dei modelli. Il curriculum è "code-first", con un'enfasi sulla pratica e sull'esperimentazione, garantendo che gli studenti non solo comprendano la teoria ma siano in grado di costruire, ottimizzare e distribuire sistemi profondi robusti.

Un breve riassunto degli obiettivi principali è padroneggiare l'intero ecosistema PyTorch, passando dalla matematica fondamentale a applicazioni di visione artificiale pronte per la produzione.

🎯 Obiettivi di apprendimento

  1. Implementare l'intero flusso di machine learning con PyTorch, dalle operazioni fondamentali sui tensori fino all'addestramento, alla valutazione e al persistere del modello.
  2. Progettare e distribuire architetture di deep learning, inclusi Reti Neurali Artificiali (ANN) e Reti Neurali Convolutionali (CNN), per compiti complessi di classificazione e visione artificiale.
  3. Trasformare il codice sperimentale in software modulare pronto per la produzione, adottando pratiche ingegneristiche standardizzate e strutture di directory.
  4. Utilizzare tecniche avanzate come il Transfer Learning e il tracciamento sistematico degli esperimenti (TensorBoard) per ottenere risultati all'avanguardia su dataset personalizzati.
  5. Preparare e distribuire modelli addestrati in applicazioni web interattive e sfruttare le funzionalità moderne di PyTorch 2.0 per accelerare l'inferenza.

Lezioni

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.