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.