Guida

TensorFlow: cos’è e come installarlo

Si tratta di una potente libreria che ha permesso a migliaia di sviluppatori di creare intelligenze artificiali complesse in tempi ridotti. Ecco una guida step-by-step per installarlo su tutti i sistemi operativi

Pubblicato il 31 Lug 2023

Gioele Fierro

CEO e Founder Promezio Engineering

google intelligenza artificiale

Il progetto TensorFlow, nato nel 2014 nei laboratori Google, è stato un pioniere di questo processo di semplificazione. TensorFlow è una potente libreria open-source per l’apprendimento automatico e il deep learning creata con l’obiettivo di standardizzare e semplificare la complessità statistico-matematica dell’intelligenza artificiale con modelli astratti di alto livello. Negli ultimi anni, TensorFlow si è affermato come uno degli strumenti più performanti, ed è utilizzato in tutto il mondo da centinaia di migliaia di sviluppatori e ricercatori nel campo delle reti neurali.

Cos’è Tensorflow?

TensorFlow è una libreria open-source, vale a dire una raccolta di codice sorgente pubblicamente disponibile che comprende funzioni, classi e moduli predefiniti e riutilizzabili, che possono essere integrati in altri programmi. Queste librerie sono progettate per facilitare la programmazione e ridurre il tempo necessario per scrivere codice complesso, fornendo soluzioni pronte all’uso per problemi comuni.

A cosa serve?

Uno dei punti chiave che hanno determinato il successo di TensorFlow è proprio la sua astrazione di alto livello, che facilita la creazione e l’implementazione di algoritmi di apprendimento automatico. Con TensorFlow, gli sviluppatori possono creare, implementare, addestrare e testare modelli di reti neurali complesse con estrema facilità. Progettato principalmente per il machine learning, può essere utilizzato anche in altri campi dell’intelligenza artificiale, come la computer vision, la sintesi vocale e il Natural Language Processing. TensorFlow lavora manipolando tensori, strutture dati a più dimensioni simili a matrici e vettori.

Le caratteristiche di Tensorflow

Ci sono varie caratteristiche chiave che rendono TensorFlow una libreria molto apprezzata:

  • Flessibilità: TensorFlow può essere usato per creare la maggior parte di modelli di AI utilizzati oggi. Supporta una vasta gamma di reti neurali e algoritmi di apprendimento automatico, il che significa che si adatta facilmente ai requisiti specifici dei progetti in cui viene impiegato.
  • Portabilità: TensorFlow è compatibile con tutti i sistemi operativi più comuni, tra cui Windows, macOS, Linux, nonché dispositivi mobili come Android e iOS. Ciò significa che gli sviluppatori possono creare un modello unico che può essere facilmente implementato su diverse piattaforme con un effort minimo.
  • Architettura: TensorFlow supporta l’esecuzione parallela su diverse CPU e GPU, permettendo di sfruttare al massimo l’hardware disponibile per accelerare i tempi di addestramento dei modelli. TensorFlow Lite consente l’implementazione rapida dei modelli su dispositivi edge, come dispositivi mobili o sistemi IoT (Internet delle cose), ottimizzando i modelli per un’esecuzione più veloce.
  • Visualizzazione: TensorFlow utilizza grafi computazionali per rappresentare le operazioni matematiche coinvolte in un modello di apprendimento automatico, consentendo agli utenti di visualizzare e ottimizzare il flusso delle operazioni nei loro modelli. TensorBoard è un tool integrato in TensorFlow che permette di visualizzare metriche durante l’addestramento del modello, analizzare grafi computazionali e molto altro ancora. Questo strumento fornisce una visione approfondita e facilmente comprensibile del processo di apprendimento automatico ed esecuzione del modello.
  • Estensibilità: Nel caso in cui le funzionalità native non siano ancora sufficienti, gli utenti hanno la possibilità di aggiungere i propri operatori personalizzati a TensorFlow utilizzando C++ o Python. La comunità di TensorFlow è molto attiva e mette a disposizione migliaia di plugin già pronti, rendendo praticamente impossibile non riuscire a trovare un custom operator che soddisfi un’esigenza specifica.

Linguaggi di programmazione supportati

Python

Python è il linguaggio di programmazione suggerito per TensorFlow, Se Python è il linguaggio più usato per il machine learning ed è suggerito da Google per l’utilizzo di TensorFlow, ci sono diverse buone ragioni.

Python è attualmente uno dei linguaggi di programmazione più popolari e vanta una vasta comunità di sviluppatori attivi. Questo significa che ci sono molte risorse disponibili online per la risoluzione di problemi e la condivisione di idee, nonché un gran numero di moduli e funzioni di terze parti che possono essere facilmente integrati nei propri progetti.

Python, inoltre, è noto per essere facile da imparare e da leggere, grazie a una sintassi semplice e intuitiva. Ciò rende il linguaggio accessibile anche a coloro che non hanno una formazione tecnica approfondita, il che è importante per la comunità dell’apprendimento automatico e dell’intelligenza artificiale, che spesso coinvolge persone provenienti da diversi background accademici e professionali.

Questa libreria può essere utilizzata, comunque, con un’ampia gamma di linguaggi di programmazione, tra cui Rust, C++, Java e Go.

Machine learning e Tensorflow

Il Machine learning, in particolar modo durante la fase di addestramento, richiede considerevoli risorse di calcolo. Se ci si avvicina al mondo dello sviluppo di AI e lo si vuole fare agevolmente, bisogna rispettare una serie di requisiti.

Tensorflow

Supporto hardware e software

I principali requisiti software sono:

  • Python: TensorFlow è compatibile con Python 3.5-3.8 (la versione con supporto a lungo termine o LTS è la 3.7). Per utilizzare TensorFlow, è necessario installare anche il gestore pacchetti di Python, pip.
  • CUDA: Per sfruttare la potenza delle GPU NVIDIA per eseguire calcoli in TensorFlow, gli utenti devono installare l’SDK CUDA (Compute Unified Device Architecture) di NVIDIA. La versione consigliata per TensorFlow varia in base alle diverse versioni della libreria: ad esempio, TensorFlow 2.4 richiede CUDA 11.0.
  • cuDNN: È richiesta anche l’installazione della libreria NVIDIA cuDNN (CUDA Deep neural network), che fornisce funzioni ottimizzate per l’apprendimento automatico profondo con le GPU NVIDIA. La versione specifica dipende dalla versione di TensorFlow e CUDA utilizzata: ad esempio, se si usa TensorFlow 2.4 e CUDA 11.0, viene richiesta la versione 8.x di cuDNN.

I requisiti hardware, invece, sono:

  • CPU: Anche se non ci sono requisiti minimi specifici per una CPU, si consiglia una CPU multicore moderna con almeno 4 core per ottenere un’elaborazione più efficiente e rapida.
  • Memoria: Si consiglia di avere a disposizione un minimo di 8 GB di RAM per eseguire processi di apprendimento automatico su piccola scala. Tuttavia, disporre di una quantità maggiore di memoria (almeno 16 GB ) è indispensabile quando si lavora con dati e modelli di grandi dimensioni.
  • GPU: Avere una buona GPU è essenziale per l’apprendimento automatico, in particolare per l’addestramento di reti neurali profonde, poiché le GPU di qualità hanno una maggiore capacità di elaborazione parallela e accelerano significativamente il tempo di addestramento. Tensorflow è ottimizzato principalmente per le GPU NVIDIA con supporto CUDA. Si consiglia l’uso delle schede grafiche NVIDIA dalla serie Pascal (GTX 10xx), Volta (Tesla V100), Turing (RTX 20xx) o Ampere (RTX 30xx). La quantità di memoria video (VRAM) sulla GPU rappresenta un altro un fattore importante da tenere in considerazione, poiché i modelli più grandi richiedono più memoria video per processare e memorizzare i dati durante l’addestramento. Idealmente, è consigliabile cercare una GPU con almeno 4 GB di VRAM, ma per modelli più grandi o addestramenti su larga scala, si raccomanda una GPU con 8 GB o più di VRAM.

Come installare TensorFlow

Tensorflow

Installare un ambiente di sviluppo che integra TensorFlow non è complesso, ma la procedura va seguita attentamente per evitare inconvenienti che potrebbero richiedere in seguito molto tempo per essere risolti. Vediamo una guida in tre passi, da seguire sequenzialmente, che mostra come installare TensorFlow su Windows, Mac e Linux.

Passo 1: Installare Python

Il primo passo per l’installazione di TensorFlow è quello di assicurarsi che sul nostro computer sia presente una versione aggiornata di Python. TensorFlow richiede Python 3.6-3.9, quindi è fondamentale avere una versione compatibile.

Su Windows e Mac, è possibile scaricare Python dal sito web ufficiale. Basterà seguire le istruzioni fornite sul sito per installare la versione appropriata del linguaggio di programmazione sul proprio sistema operativo.

Su Linux, si può utilizzare il gestore di pacchetti della propria distribuzione (apt su Debian/Ubuntu o yum su Fedora) per installare Python direttamente dal terminale.

Ecco come farlo su Debian/Ubuntu:

sudo apt update
sudo apt install python3 python3-pip

Qui, invece, come farlo su Fedora:

sudo yum install python3 python3-pip

Passo 2: Creare un ambiente virtuale

Un ambiente virtuale ci permette di isolare l’installazione di TensorFlow dalle altre librerie python e dai moduli installati nel nostro sistema. Per questo passaggio, apriamo il terminale (Prompt dei comandi su Windows o Terminale/Console su Mac e Linux) e procediamo seguendo le istruzioni fornite di seguito:

  1. Installare il modulo virtuale:

Su Windows:

pip install virtualenv

Su Mac e Linux:

pip3 install virtualenv

  1. Creare un nuovo ambiente virtuale (sostituire con il nome desiderato):

Su Windows, Mac e Linux:

python3 -m venv

  1. Attivare l’ambiente virtuale:

Su Windows:

.myenvScriptsactivate

Su Mac e Linux:

source myenv/bin/activate

Dopo aver attivato l’ambiente virtuale, generalmente, il terminale mostrerà il nome dell’ambiente tra parentesi all’inizio della riga di comando: questo indica che abbiamo seguito la procedura correttamente e che stiamo quindi operando all’interno dell’ambiente virtuale.

Passo 3: Installare TensorFlow

Ora che abbiamo Python e un ambiente virtuale pronto, possiamo procedere con l’installazione di TensorFlow. Nel terminale attivato nell’ambiente virtuale, digitiamo i seguenti comandi:

  1. Aggiornare pip (su tutte le piattaforme):

python -m pip install –upgrade pip

  1. Installare TensorFlow:

Su Windows, Mac e Linux:

pip install tensorflow

Ora che TensorFlow è installato nel nostro ambiente virtuale, possiamo iniziare a utilizzarlo per creare e implementare modelli di apprendimento profondo.

Passo 4: Verificare l’installazione

Per verificare se TensorFlow è stato installato correttamente e funziona come previsto, apriamo un nuovo file Python o una shell interattiva Python e inseriamo il seguente codice:

import tensorflow as tf
print(tf.__version__)

Se tutto fosse stato fatto correttamente, questo codice dovrebbe restituire la versione di TensorFlow installata sul nostro sistema.

Conclusioni

Adesso abbiamo a disposizione sul nostro computer uno degli strumenti più potenti per creare intelligenze artificiali. Possiamo iniziare da subito a utilizzare questa potente biblioteca per creare modelli di machine learning e reti neurali. Ricordiamo che questo è solo il primo passo: esploriamo ulteriormente i concetti, le tecniche e gli strumenti inerenti a TensorFlow per sfruttarne al meglio le potenzialità.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3