Contattataci

Struttura del corso

Introduzione

  • Introduzione a TensorFlow e al deep learning
  • Casi d'uso e applicazioni di TensorFlow
  • Ecosistema e strumenti di TensorFlow
  • Flussi di lavoro per il machine learning e il deep learning
  • Panoramica sugli obiettivi del corso e sugli esercizi pratici

TensorFlow 2.x rispetto alle versioni precedenti — Novità

  • Principali differenze tra TensorFlow 1.x e 2.x
  • Esecuzione eager
  • API semplificate e maggiore usabilità
  • Cambiamenti nella costruzione e nell'addestramento dei modelli
  • Introduzione a Keras come API di alto livello
  • Considerazioni sulla migrazione per le applicazioni esistenti in TensorFlow
  • Best practice per TensorFlow 2.x

Configurazione di TensorFlow 2.x

  • Installazione di TensorFlow
  • Configurazione di un ambiente Python
  • Verifica dell'installazione di TensorFlow
  • Installazione e gestione delle dipendenze richieste
  • Configurazione degli ambienti CPU e GPU
  • Utilizzo di TensorFlow con notebook Jupyter
  • Comandi e operazioni base di TensorFlow
  • Risoluzione dei problemi di installazione e configurazione

Panoramica su funzionalità e architettura di TensorFlow 2.x

  • Architettura e componenti principali di TensorFlow
  • Tensor e operazioni sui tensori
  • Variabili e costanti
  • Grafi computazionali ed esecuzione eager
  • Derivazione automatica
  • API e moduli di TensorFlow
  • Integrazione con Keras
  • Pipeline dati con tf.data
  • Serializzazione dei modelli e TensorFlow SavedModel
  • Ecosistema di TensorFlow e flusso di sviluppo

Funzionamento delle reti neurali

  • Fondamenti delle reti neurali artificiali
  • Neuroni, layer e architetture di rete
  • Funzioni di attivazione
  • Propagazione in avanti (forward propagation)
  • Funzioni di perdita (loss functions)
  • Backpropagation
  • Discesa del gradiente e ottimizzazione
  • Tassi di apprendimento e strategie di ottimizzazione
  • Overfitting e underfitting
  • Tecniche di regularizzazione
  • Dataset di addestramento, validazione e test

Utilizzo di TensorFlow 2.x per la creazione di modelli di deep learning

  • Creazione di tensori e variabili
  • Costruzione di reti neurali con Keras
  • API dei modelli sequenziali e funzionali
  • Definizione di modelli e layer personalizzati
  • Configurazione degli ottimizzatori
  • Selezione delle appropriate funzioni di perdita
  • Addestramento dei modelli con fit()
  • Loop di addestramento personalizzati
  • Callbacks e monitoraggio dell'addestramento
  • Gestione dei checkpoint dei modelli

Analisi dei dati

  • Comprendere i dataset per il machine learning
  • Esplorazione di dati strutturati e non strutturati
  • Visualizzazione dei dati
  • Identificazione di pattern e anomalie
  • Gestione di dati mancanti e incoerenti
  • Divisione dei dati in set di addestramento, validazione e test
  • Selezione delle funzionalità rilevanti
  • Preparazione dei dataset per i modelli TensorFlow

Prelavorazione dei dati

  • Normalizzazione e standardizzazione dei dati
  • Codifica di dati categorici
  • Gestione dei valori mancanti
  • Scalatura delle funzionalità (feature scaling)
  • Prelavorazione delle immagini
  • Prelavorazione del testo
  • Augmentazione dei dati
  • Costruzione di pipeline di input efficienti
  • Utilizzo di tf.data
  • Batching, shuffling, caching e prefetching
  • Preparazione dei dati per l'addestramento del modello

Costruzione di un modello

  • Selezione di un'architettura di rete neurale appropriata
  • Definizione degli input e delle output del modello
  • Creazione di reti neurali dense
  • Scelta delle funzioni di attivazione
  • Configurazione del modello per l'addestramento
  • Selezione di ottimizzatori e funzioni di perdita
  • Addestramento e validazione del modello
  • Monitoraggio delle metriche di addestramento
  • Miglioramento delle prestazioni del modello
  • Prevenzione dell'overfitting
  • Implementazione di regularizzazione e dropout

Implementazione di un classificatore di immagini all'avanguardia

  • Fondamenti della classificazione delle immagini
  • Preparazione dei dataset di immagini
  • Normalizzazione e augmentazione delle immagini
  • Reti neurali convoluzionali
  • Layer di convoluzione e pooling
  • Progettazione di un'architettura per la classificazione delle immagini
  • Transfer learning
  • Utilizzo di modelli preaddestrati
  • Fine-tuning di reti preaddestrate
  • Costruzione di un classificatore di immagini avanzato
  • Valutazione delle prestazioni di classificazione

Addestramento del modello

  • Configurazione dei parametri di addestramento
  • Dimensione del batch e epoche
  • Selezione dell'ottimizzatore
  • Agendamento del tasso di apprendimento (learning-rate scheduling)
  • Callbacks di addestramento
  • Arresto anticipato (early stopping)
  • Creazione di checkpoint dei modelli
  • Monitoraggio dei progressi di addestramento
  • Rilevamento dell'overfitting
  • Miglioramento delle prestazioni di addestramento
  • Considerazioni per l'addestramento distribuito

Addestramento su GPU o TPU

  • Architetture CPU, GPU e TPU
  • Vantaggi dell'accelerazione hardware
  • Configurazione di TensorFlow per l'addestramento su GPU
  • Comprensione dell'addestramento basato su TPU
  • Selezione dell'hardware per carichi di lavoro diversi
  • Spostamento dei calcoli tra dispositivi
  • Gestione della memoria e delle risorse computazionali
  • Confronto delle prestazioni di addestramento
  • Strategie di addestramento distribuito e accelerato

Valutazione del modello

  • Selezione di metriche di valutazione appropriate
  • Accuratezza, precisione, recall e F1 score
  • Metriche di valutazione per la regressione
  • Matrici di confusione
  • Strategie di validazione
  • Valutazione dei modelli di classificazione
  • Valutazione della generalizzazione del modello
  • Identificazione dei punti deboli del modello
  • Confronto tra diverse configurazioni del modello

Esecuzione di previsioni

  • Utilizzo di modelli addestrati per l'inferenza
  • Preparazione di nuovi dati di input
  • Esecuzione di previsioni in batch e individuali
  • Interpretazione delle output del modello
  • Probabilità di classificazione
  • Previsioni di regressione
  • Costruzione di un flusso di lavoro per l'inferenza
  • Gestione di dati non visti
  • Gestione delle pipeline di previsione

Valutazione delle previsioni

  • Analisi della qualità delle previsioni
  • Confronto tra previsioni e risultati attesi
  • Identificazione di falsi positivi e falsi negativi
  • Analisi degli errori
  • Valutazione della confidenza del modello
  • Visualizzazione dei risultati delle previsioni
  • Rilevamento di bias nei dati e nelle previsioni
  • Miglioramento delle prestazioni del modello in base all'analisi delle previsioni

Debug del modello

  • Identificazione di problemi comuni di addestramento
  • Diagnosi di previsioni errate
  • Debug delle pipeline di dati
  • Indagine sul comportamento di perdita e metriche
  • Rilevamento di gradienti esplodenti o svanenti
  • Diagnosi di overfitting e underfitting
  • Ispettazione dei layer e delle output del modello
  • Utilizzo di strumenti di debug e profiling di TensorFlow
  • Miglioramento della stabilità e delle prestazioni del modello

Salvataggio di un modello

  • Salvataggio dei modelli addestrati
  • Formato TensorFlow SavedModel
  • Salvataggio e ripristino dei pesi del modello
  • Salvataggio dell'architettura e della configurazione del modello
  • Caricamento dei modelli per l'inferenza
  • Versioning dei modelli
  • Esportazione dei modelli per la distribuzione
  • Gestione degli artifact del modello
  • Preparazione dei modelli per ambienti di produzione

Distribuzione di un modello sul cloud

  • Introduzione alla distribuzione di modelli basata sul cloud
  • Preparazione dei modelli TensorFlow per la produzione
  • Serving dei modelli tramite API
  • Concetti di model serving
  • Containerizzazione delle applicazioni TensorFlow
  • Inferenza basata sul cloud
  • Scalabilità dei carichi di lavoro per il model serving
  • Monitoraggio dei modelli distribuiti
  • Gestione delle versioni dei modelli
  • Considerazioni per la distribuzione in produzione

Distribuzione di un modello su un dispositivo mobile

  • Sfide del machine learning su dispositivo mobile
  • TensorFlow Lite
  • Conversione dei modelli TensorFlow per la distribuzione mobile
  • Ottimizzazione del modello e riduzione della dimensione
  • Quantizzazione
  • Esecuzione dell'inferenza su dispositivi mobili
  • Gestione delle risorse del dispositivo mobile
  • Integrazione dei modelli nelle applicazioni mobili
  • Test delle prestazioni di inferenza mobile

Distribuzione di un modello su un sistema embedded (IoT)

  • Machine learning su dispositivi embedded
  • TensorFlow Lite per applicazioni embedded
  • Vincoli di risorse e ottimizzazione
  • Riduzione della dimensione del modello e dei requisiti computazionali
  • Inferenza al bordo (edge inference)
  • Elaborazione di dati di sensori e in tempo reale
  • Esecuzione locale delle previsioni
  • Considerazioni su potenza e memoria
  • Integrazione dei modelli TensorFlow nei flussi di lavoro IoT
  • Test e monitoraggio delle distribuzioni edge

Integrazione di un modello con diversi linguaggi

  • Interoperabilità dei modelli TensorFlow
  • Serving dei modelli tramite API
  • Utilizzo dei modelli TensorFlow da diversi ambienti di programmazione
  • Integrazione di modelli basati su Python
  • Integrazione dei modelli nelle applicazioni web
  • Inferenza del modello tramite servizi basati su REST
  • Integrazione di TensorFlow nelle applicazioni esistenti
  • Scambio dati e serializzazione
  • Considerazioni per l'integrazione in produzione

Risoluzione dei problemi (Troubleshooting)

  • Diagnosi di problemi di installazione di TensorFlow
  • Risoluzione di errori nella costruzione dei modelli
  • Debug di problemi di prelavorazione dei dati
  • Risoluzione di fallimenti nell'addestramento
  • Indagine su problemi di configurazione GPU e TPU
  • Diagnosi di problemi di memoria e prestazioni
  • Risoluzione di problemi nel caricamento e salvataggio dei modelli
  • Debug di problemi di distribuzione
  • Esercizi pratici di troubleshooting

Sintesi e conclusione

  • Ricapitolazione dei concetti di TensorFlow 2.x
  • Ricapitolazione dei flussi di lavoro per reti neurali e deep learning
  • Ricapitolazione della preparazione dei dati e dello sviluppo del modello
  • Ricapitolazione della classificazione delle immagini
  • Ricapitolazione delle tecniche di addestramento e valutazione
  • Ricapitolazione del debug e dell'ottimizzazione del modello
  • Ricapitolazione della distribuzione su cloud, mobile e IoT
  • Best practice per lo sviluppo con TensorFlow
  • Esercizio pratico finale
  • Domande e discussione

Requisiti

  • Esperienza di programmazione in Python.
  • Esperienza con la riga di comando Linux.

Target di riferimento

  • Sviluppatori
  • Data Scientist
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (4)

Corsi in Arrivo

Categorie relative