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 il machine learning (ML) e l'intelligenza artificiale (AI), sviluppata originariamente dal team di Google Brain. Funge da piattaforma fondamentale che consente agli sviluppatori di creare, addestrare e distribuire modelli sofisticati di deep learning. Sebbene sia ampiamente utilizzata per creare reti neurali su larga scala, la sua architettura flessibile le permette di essere eseguita su una varietà di piattaforme, da potenti server cloud e Graphics Processing Units (GPUs) a dispositivi mobili e sistemi di edge computing. Questa versatilità la rende uno strumento fondamentale per settori che spaziano dall'assistenza sanitaria e la finanza all'ingegneria automobilistica.
Link to this sectionConcetti 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 dati per rappresentare i calcoli. I nodi nel grafo rappresentano le operazioni matematiche, mentre i bordi rappresentano gli array di dati multidimensionali (tensor) comunicati tra di loro. Questa struttura è eccellente per il distributed training su più processori.
- Integrazione con Keras: Le versioni moderne del framework si integrano strettamente con Keras, un'API di alto livello progettata per le persone, non per le macchine. Keras semplifica il processo di creazione di neural networks (NN) astraendo gran parte della complessità di basso livello, rendendo più semplice per i nuovi utenti creare prototipi di modelli.
- Eager Execution: A differenza delle versioni precedenti, che si basavano pesantemente sui grafi statici, le iterazioni più recenti utilizzano l'eager execution come impostazione predefinita. Ciò consente di valutare le operazioni immediatamente, il che semplifica il debug e rende l'esperienza di programmazione più intuitiva, simile alla normale programmazione Python.
Link to this sectionApplicazioni 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 utilizzata ampiamente per addestrare Convolutional Neural Networks (CNNs) per l'identificazione di 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 in radiografie o scansioni MRI con elevata precisione.
- Natural Language Processing (NLP): Molti Large Language Models (LLMs) e servizi di traduzione si affidano a TensorFlow per elaborare e generare il linguaggio umano. Alimentando applicazioni come assistenti vocali e strumenti di sentiment analysis, aiuta le aziende a comprendere il feedback dei clienti interpretando i dati testuali su larga scala.
Link to this sectionConfronto con PyTorch#
Sebbene siano entrambi framework dominanti nel panorama dell'AI, TensorFlow differisce significativamente da PyTorch. PyTorch è spesso preferito nella ricerca accademica per il suo grafo computazionale dinamico, che consente modifiche al volo alla struttura della rete. Al contrario, TensorFlow è stato storicamente preferito per il model deployment in ambienti di produzione grazie al suo ecosistema robusto, che include TensorFlow Serving e TensorFlow Lite per dispositivi mobili. Tuttavia, gli aggiornamenti moderni hanno avvicinato i due framework in termini di usabilità e funzionalità.
Link to this sectionIntegrazione con Ultralytics#
I modelli Ultralytics, come lo stato dell'arte YOLO26, 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 eseguire l'addestramento sulla Ultralytics Platform e distribuire i modelli su dispositivi che richiedono formati specifici.
Il seguente esempio 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")Link to this sectionStrumenti correlati ed ecosistema#
Il framework è supportato da una ricca suite di strumenti progettati per gestire l'intero ciclo di vita di machine learning operations (MLOps):
- TensorBoard: Un potente toolkit di visualizzazione che aiuta i ricercatori a tracciare metriche come le loss functions e l'accuratezza 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 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 essere eseguiti in modo efficiente su dispositivi con potenza e memoria limitate, come smartphone e microcontrollori.
- TensorFlow.js: This library enables ML models to run directly in the browser or on Node.js. It allows for client-side inference, meaning data does not need to be sent to a server, enhancing privacy and reducing latency.
- TFX (TensorFlow Extended): An end-to-end platform for deploying production pipelines. It helps automate data validation, model training, and serving, ensuring scalable and reliable AI applications.






