TensorFlow
Esplora i concetti fondamentali, l'architettura e l'ecosistema di TensorFlow. Impara a esportare i modelli Ultralytics YOLO26 per un deployment senza interruzioni su TFLite, JS e altro.
TensorFlow è una libreria software open-source completa per l'apprendimento automatico (ML) e l'intelligenza artificiale (AI), originariamente sviluppata dal team di Google Brain. Funge da piattaforma fondamentale che consente agli sviluppatori di creare, addestrare e distribuire modelli di deep learning sofisticati. Sebbene sia ampiamente utilizzata per la creazione di reti neurali su larga scala, la sua architettura flessibile le consente di essere eseguita su una varietà di piattaforme, da potenti server cloud e Unità di Elaborazione Grafica (GPU) a dispositivi mobili e sistemi di edge computing. Questa versatilità la rende uno strumento fondamentale per settori che vanno dalla sanità e finanza all'ingegneria automobilistica.
Concetti fondamentali e architettura#
Il framework deriva il suo nome dai "tensor", ovvero array di dati multidimensionali che fluiscono attraverso un grafo computazionale. Questo approccio basato sui grafi consente a TensorFlow di gestire operazioni matematiche complesse in modo efficiente.
- Grafi Computazionali: TensorFlow utilizza tradizionalmente un grafo di flusso di dati per rappresentare i calcoli. I nodi nel grafo rappresentano operazioni matematiche, mentre i bordi rappresentano gli array di dati multidimensionali (tensori) comunicati tra di essi. Questa struttura è eccellente per l'addestramento distribuito su più processori.
- Integrazione con Keras: Le versioni moderne del framework si integrano strettamente con Keras, un'API di alto livello progettata per gli esseri umani, non per le macchine. Keras semplifica il processo di creazione di reti neurali (NN) astraendo gran parte della complessità di basso livello, facilitando la prototipazione dei modelli per i nuovi arrivati.
- Esecuzione Eager: A differenza delle versioni precedenti che facevano affidamento pesantemente su grafi statici, le iterazioni più recenti utilizzano l'esecuzione eager per impostazione predefinita. Ciò consente di valutare le operazioni immediatamente, il che semplifica il debug e rende l'esperienza di codifica più intuitiva, simile alla normale programmazione in Python.
Applicazioni nel mondo reale#
TensorFlow è determinante per alimentare molte tecnologie che hanno un impatto sulla vita quotidiana e sulle operazioni industriali.
- Classificazione delle Immagini e Rilevamento degli Oggetti: Viene ampiamente utilizzato per addestrare Reti Neurali Convoluzionali (CNN) per identificare oggetti all'interno delle immagini. Ad esempio, nell'analisi di immagini mediche, i modelli costruiti su questo framework possono assistere i radiologi rilevando anomalie come tumori in radiografie o risonanze magnetiche con elevata precisione.
- Elaborazione del Linguaggio Naturale (NLP): Molti Modelli Linguistici di Grandi Dimensioni (LLM) e servizi di traduzione si affidano a TensorFlow per elaborare e generare linguaggio umano. Alimenta applicazioni come assistenti vocali e strumenti di analisi del sentiment che aiutano le aziende a comprendere il feedback dei clienti interpretando i dati testuali su scala.
Confronto con PyTorch#
Sebbene entrambi siano framework dominanti nel panorama dell'AI, TensorFlow differisce significativamente da PyTorch. PyTorch è spesso favorito nella ricerca accademica per il suo grafo computazionale dinamico, che consente modifiche al volo della struttura della rete. Al contrario, TensorFlow è storicamente preferito per il distribuzione dei modelli in ambienti di produzione grazie al suo ecosistema robusto, che include TensorFlow Serving e TensorFlow Lite per dispositivi mobili. Tuttavia, i moderni aggiornamenti hanno avvicinato i due framework in termini di usabilità e funzionalità.
Integrazione con Ultralytics#
I modelli Ultralytics, come il YOLO26 all'avanguardia, sono costruiti utilizzando PyTorch ma offrono un'interoperabilità perfetta con l'ecosistema TensorFlow. Ciò si ottiene attraverso modalità di esportazione che consentono agli utenti di convertire i modelli YOLO addestrati in formati compatibili con il framework di Google, come SavedModel, TF.js o TFLite. Questa flessibilità garantisce che gli utenti possano effettuare l'addestramento sulla Piattaforma Ultralytics e distribuire su dispositivi che richiedono formati specifici.
Il seguente esempio dimostra come esportare un modello Ultralytics YOLO26 in un formato compatibile con questo ecosistema:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TensorFlow SavedModel format
# This creates a directory containing the model assets
model.export(format="saved_model")Strumenti correlati ed ecosistema#
Il framework è supportato da una ricca suite di strumenti progettati per gestire l'intero ciclo di vita delle operazioni di machine learning (MLOps):
- TensorBoard: Un potente toolkit di visualizzazione che aiuta i ricercatori a tracciare metriche come funzioni di perdita e precisione durante l'addestramento. Fornisce un'interfaccia grafica per ispezionare i grafi dei modelli ed eseguire il debug dei problemi di prestazioni. Puoi utilizzare l'integrazione con TensorBoard con Ultralytics per visualizzare le tue esecuzioni di addestramento YOLO.
- TensorFlow Lite: Una soluzione leggera progettata specificamente per l'edge AI e la distribuzione mobile. Ottimizza i modelli per l'esecuzione efficiente su dispositivi con potenza e memoria limitate, come smartphone e microcontroller.
- TensorFlow.js: Questa libreria consente ai modelli di ML di essere eseguiti direttamente nel browser o su Node.js. Consente l'inferenza lato client, il che significa che i dati non devono essere inviati a un server, migliorando la privacy e riducendo la latenza.
- TFX (TensorFlow Extended): Una piattaforma end-to-end per la distribuzione di pipeline di produzione. Aiuta ad automatizzare la convalida dei dati, l'addestramento del modello e il serving, garantendo applicazioni di intelligenza artificiale scalabili e affidabili.






