PyTorch: introduzione e applicazioni
Descrizione
Il corso "PyTorch: introduzione e applicazioni" fornisce una panoramica su PyTorch, uno dei framework di deep learning più popolari e versatili. I partecipanti acquisiranno le competenze necessarie per costruire e ottimizzare modelli di deep learning utilizzando PyTorch. Tratteremo concetti come la gestione dei dati, la costruzione di reti neurali e l'implementazione di tecniche di training.
Target
- Data scientists e ingegneri del machine learning che desiderano approfondire le loro competenze in deep learning.
 - Sviluppatori software che vogliono integrare modelli di deep learning nelle loro applicazioni.
 
Prerequisiti
- Conoscenze di base di programmazione in Python.
 - Comprensione fondamentale del machine learning e dei concetti di deep learning.
 - Familiarità con l'algebra lineare e il calcolo differenziale.
 
Programma Corso
Introduzione a PyTorch
- Cos'è PyTorch e perché usarlo
 - Come PyTorch supporta il Deep Learning
 - Quali requisiti Hardware e Software sono necessari
 - Installazione e configurazione dell'ambiente
 - Panoramica dell'architettura di PyTorch
 - Il dizionario di PyTorch
 - PyTorch Numpy
 - Variabili ed Autograd
 - Grafici dinamici
 - L’Optim Package
 - Il Multiprocessing
 
Tensors in PyTorch
- Rappresentazione dei dati in forma numerica
 - Introduzione a Tensor
 - Differenza e relazioni tra i Tensor per PyTorch ed i ndarray in Numpy
 - I Tensor e le GPU
 - Creazione e manipolazione dei Tensor
 - Operazioni fondamentali sui Tensor
 - Gli Indexing Tensors
 - I Named Tensors
 - Tipi di elementi
 - Le API Tensor
 - Metadati e Tensor ( Size, Offset e Stride )
 - Spostamento del Tensor sulla GPU
 
Autograd: differenziazione automatica
- Introduzione al modulo autograd
 - Cosa è Autograd
 - Come Autograd codifica la cronologia
 - Tensor salvati
 - Gradienti per funzioni non differenziabili
 - Disabilitazione locale del calcolo del gradiente
 - L'impostazione del Flag require_grad
 - Grad Mode
 - Default Mode
 - No-Grad Mode
 - Inference Mode
 - Evaluation Mode
 - Operazioni In-place con Autograd
 - Autograd multithread
 - Autograd per numeri complessi
 - Esempi pratici di backpropagation
 
Costruzione di Reti Neurali con PyTorch
- Definizione di un modello con nn.Module
 - Costruzione di layer e moduli
 - Funzioni di perdita e ottimizzatori
 
Training e valutazione dei modelli
- Caricamento e preprocessing dei dati
 - Loop di training
 - Valutazione delle performance del modello
 
Tecniche Avanzate
- Utilizzo di GPU per l'accelerazione del calcolo
 - Salvare e caricare modelli
 - Fine-tuning e trasferimento di apprendimento
 - Una rete pre addestrata per riconoscere oggetti da una immagine
 
Esercitazione Pratica
- Costruzione di un modello su un dataset reale
 - Domande e risposte
 
Questo programma è progettato per offrire una solida base in PyTorch, combinando teoria e pratica per garantire che i partecipanti possano applicare le conoscenze acquisite ai loro progetti.