TensorFlow
Esplora i concetti fondamentali, l'architettura e l'ecosistema TensorFlow. Scopri come esportare i modelli Ultralytics per un'implementazione senza interruzioni su TFLite, JS e altro ancora.
TensorFlow una libreria software open source completa per il
machine learning (ML) e l'
intelligenza artificiale (AI), originariamente
sviluppata dal team Google . Funge da piattaforma fondamentale che consente agli sviluppatori di creare, addestrare e
implementare sofisticati modelli di deep learning. Sebbene sia ampiamente utilizzato per la creazione di reti neurali su larga scala, la sua
architettura flessibile gli consente di funzionare su una varietà di piattaforme, dai potenti server cloud e
unità di elaborazione grafica (GPU) ai
dispositivi mobili e ai sistemi di edge computing. Questa versatilità lo rende uno strumento fondamentale per settori che vanno dall'
assistenza sanitaria alla finanza, fino all'ingegneria automobilistica.
Concetti fondamentali e architettura
Il nome di questo framework deriva dai "tensori", ovvero array multidimensionali di dati che fluiscono attraverso
un grafico computazionale. Questo approccio basato sui grafici consente a TensorFlow gestire in modo efficiente operazioni matematiche complesse
.
-
Grafici computazionali: TensorFlow utilizza TensorFlow un grafico di flusso di dati per rappresentare i calcoli.
I nodi nel grafico rappresentano operazioni matematiche, mentre i bordi rappresentano gli array di dati multidimensionali
(tensori) comunicati tra loro. Questa struttura è eccellente per l'
addestramento distribuito su più
processori.
-
Integrazione Keras: le versioni moderne del framework si integrano perfettamente con
Keras, un'API di alto livello progettata per gli esseri umani, non per le
macchine. Keras semplifica il processo di creazione delle
reti neurali (NN) astraendo gran parte della
complessità di basso livello, rendendo più facile per i neofiti prototipare modelli.
-
Esecuzione immediata: a differenza delle versioni precedenti, che facevano ampio ricorso a grafici statici, le iterazioni più recenti
utilizzano come impostazione predefinita l'esecuzione immediata. Ciò consente di valutare immediatamente le operazioni, semplificando il
debugging e rendendo l'esperienza di codifica più intuitiva, simile a quella standard di
Python .
Applicazioni nel mondo reale
TensorFlow fondamentale per alimentare molte tecnologie che hanno un impatto sulla vita quotidiana e sulle operazioni industriali.
-
Classificazione delle immagini e rilevamento degli oggetti: è ampiamente utilizzato per addestrare le
reti neurali convoluzionali (CNN)
per identificare gli oggetti all'interno delle immagini. Ad esempio, nell'
analisi delle immagini mediche, i modelli costruiti su
questo framework possono assistere i radiologi rilevando anomalie come tumori nelle radiografie o nelle 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 elaborare e generare il linguaggio umano. Questo alimenta applicazioni come gli assistenti vocali
e gli strumenti di analisi del sentiment che
aiutano le aziende a comprendere il feedback dei clienti interpretando i dati testuali su larga scala.
Confronto con PyTorch
Sebbene entrambi siano framework dominanti nel panorama dell'IA, TensorFlow in modo significativo da
PyTorch. PyTorch spesso preferito nella ricerca accademica per il
suo grafico computazionale dinamico, che consente modifiche immediate alla struttura della rete. Al contrario, TensorFlow
è stato storicamente preferito per l'
implementazione di modelli in ambienti di produzione grazie al
suo ecosistema robusto, che include TensorFlow e
TensorFlow per dispositivi mobili. Tuttavia, i recenti aggiornamenti hanno avvicinato i due framework in termini di usabilità e
funzionalità.
Integrazione con Ultralytics
Ultralytics , come l'avanzato YOLO26, sono
realizzati utilizzando PyTorch offrono una perfetta interoperabilità con TensorFlow . Ciò è possibile grazie alle modalità di esportazione
che consentono agli utenti di convertire YOLO addestrati in formati compatibili con il framework Google, come
SavedModel, TF.js o TFLite. Questa flessibilità garantisce agli utenti la possibilità di addestrare i modelli sulla
Ultralytics e di distribuirli su dispositivi che richiedono formati specifici
.
L'esempio seguente mostra come esportare un modello 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 track quali
le funzioni di perdita e l'accuratezza durante l'addestramento. Fornisce
un'interfaccia grafica per ispezionare i grafici dei modelli e risolvere i problemi di prestazioni. È possibile utilizzare l'
integrazione di TensorBoard con Ultralytics
visualizzare le esecuzioni YOLO .
-
TensorFlow : una soluzione leggera progettata specificamente per l'
IA edge e l'implementazione mobile. Ottimizza i modelli per funzionare
in modo efficiente su dispositivi con potenza e memoria limitate, come smartphone e microcontrollori.
-
TensorFlow.js: questa libreria consente ai modelli ML di funzionare direttamente nel browser o su Node.js.
Permette 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 ): una piattaforma end-to-end per l'implementazione di pipeline di produzione. Aiuta ad
automatizzare la convalida dei dati, l'addestramento dei modelli e il servicing,
garantendo applicazioni di IA scalabili e affidabili.