Keras 3.0 Tutto ciò che devi sapere

Keras 3.0 Tutto ciò che devi sapere' -> 'Keras 3.0 - Tutto ciò che devi sapere

 

Prima di immergerci nei dettagli di questo sviluppo entusiasmante, esploriamo uno scenario per comprenderlo meglio. Immaginati come un Senior Data Scientist che guida un sofisticato progetto di classificazione delle immagini. Il tuo modello basato su TensorFlow sta ottenendo risultati notevoli. Tuttavia, aggiungendo ulteriori funzionalità, noti che alcuni membri del team preferiscono JAX per la scalabilità, mentre altri prediligono PyTorch per la sua facilità d’uso. Come responsabile del team, come puoi garantire una collaborazione senza problemi mantenendo l’efficienza del modello attraverso vari framework di deep learning?

Riconoscendo questa sfida, il team di Keras presenta Keras Core, un’innovativa implementazione multi-backend dell’API di Keras con supporto per TensorFlow, JAX e PyTorch. Questa libreria si evolverà in Keras 3.0 entro l’autunno del 2023. Ma prima di passare direttamente a Keras 3.0, diamo un’occhiata breve alla storia di Keras.

 

Una Breve Storia di Keras e la Strada verso Keras 3.0

 

Nel 2015, François Chollet ha introdotto Keras, una libreria di deep learning open-source scritta in Python. Questa API semplice ma potente ha rapidamente guadagnato popolarità tra ricercatori, studenti e professionisti semplificando la creazione di reti neurali complesse. Nel tempo, Keras ha ricevuto significativi miglioramenti, rendendolo ancora più interessante per la comunità di deep learning. Alla fine, Keras è diventato una parte integrante di TensorFlow, l’avanzato framework di deep learning di Google. Allo stesso tempo, il laboratorio di ricerca sull’intelligenza artificiale di Facebook ha sviluppato PyTorch, noto per la sua intuitività e flessibilità nella costruzione dei modelli. Allo stesso tempo, JAX è emerso come un altro potente framework per la ricerca di machine learning ad alte prestazioni. Man mano che questi framework acquisivano slancio, gli sviluppatori hanno iniziato a sperimentare il dilemma di scegliere tra i vari framework. Ciò ha portato a una maggiore frammentazione nella comunità di deep learning.

Riconoscendo le sfide poste dai framework frammentati, gli sviluppatori di Keras hanno deciso di rivoluzionare nuovamente la libreria, dando così vita a Keras 3.0.

 

Le Caratteristiche Salienti di Keras 3.0

 

Keras 3.0 ti permette di collaborare efficacemente con il tuo team. Puoi sviluppare modelli sofisticati con un’interfaccia unificata combinando i punti di forza di TensorFlow, JAX e PyTorch. Ecco alcune delle caratteristiche per cui Keras 3.0 è una vera rivoluzione nel campo:

 

1. Supporto Multi-Backend

 

Keras 3.0 funge da super-connettore, consentendo l’uso senza soluzione di continuità di TensorFlow, JAX e PyTorch insieme. Gli sviluppatori hanno la libertà di combinare il miglior strumento per le loro specifiche attività senza modificare il codice.

 

2. Ottimizzazione delle Prestazioni

 

L’ottimizzazione delle prestazioni è la caratteristica chiave di Keras 3.0. Per impostazione predefinita, Keras 3.0 sfrutta la compilazione XLA (Accelerated Linear Algebra). La compilazione XLA ottimizza i calcoli matematici, permettendo loro di eseguirsi molto più velocemente su hardware come GPU e TPU. Ti consente anche di selezionare dinamicamente il miglior backend per il tuo modello di intelligenza artificiale, garantendo un’efficienza ottimale. Queste funzionalità di ottimizzazione delle prestazioni sono molto importanti, permettendoti di addestrare più modelli, sperimentare di più e ottenere risultati molto più rapidamente.

 

3. Superficie dell’Ecosistema Espansa

 

I tuoi modelli Keras possono essere utilizzati come Moduli PyTorch, SavedModels TensorFlow o come parte dell’infrastruttura di addestramento TPU su larga scala di JAX. Ciò significa che puoi sfruttare i punti di forza di ciascun framework. Quindi, con l’ecosistema espanso di Keras 3.0, non sei vincolato a un singolo ecosistema. È come un adattatore universale che ti consente di connettere il tuo dispositivo preferito a qualsiasi macchina.

 

4. Linguaggio a Basso Livello Trasversale ai Framework

 

L’introduzione dello spazio dei nomi keras_core.ops è una caratteristica rivoluzionaria che ti consente di scrivere operazioni personalizzate una volta e usarle senza sforzo tra diversi framework di deep learning. Le keras_core.ops forniscono un insieme di strumenti e funzioni che assomigliano all’API popolare di NumPy, una libreria ampiamente utilizzata per i calcoli numerici in Python. Questo livello di compatibilità tra framework favorisce la riutilizzabilità del codice e incoraggia la collaborazione.

 

5. Rivelazione progressiva della complessità

 

Questo approccio di progettazione di Keras 3.0 lo distingue dagli altri framework di deep learning. Immagina di essere un principiante e di voler costruire una semplice rete neurale usando Keras 3.0. Ti presenta i flussi di lavoro più semplici all’inizio. Una volta che ti senti a tuo agio con le basi, puoi accedere a tutte le funzionalità avanzate e alle funzionalità a basso livello. Non ti limita solo a flussi di lavoro predefiniti. La bellezza di questo approccio risiede nella sua adattabilità ed è accogliente sia per i principianti che per i professionisti esperti di deep learning. 

 

6. API senza stato per Layer, Model, Metriche e Ottimizzatori

 

Nel contesto del deep learning, lo stato si riferisce alle variabili interne e ai parametri che cambiano durante il processo di addestramento. Tuttavia, JAX si basa sul principio della assenza di stato, il che significa che le funzioni non hanno variabili mutevoli o stati interni. Keras 3.0 abbraccia l’assenza di stato di JAX tramite un API senza stato. Consente ai componenti essenziali del deep learning, come layer, modelli, metriche e ottimizzatori, di essere progettati in modo senza stato. Questa compatibilità unica rende Keras 3.0 uno strumento indispensabile nello sviluppo moderno di intelligenza artificiale.

 

Primi passi con Keras 3.0

 

Keras Core è compatibile con sistemi Linux e MacOS. L’installazione di Keras 3.0 è un processo semplice. Ecco la guida passo passo da seguire:

 

1. Clona e passa alla repository

 

Clona la repository nel tuo sistema locale usando il seguente comando

git clone https://github.com/keras-team/keras-core.git

 

Cambia la tua directory radice alla cartella clonata keras-core usando:

cd keras-core

 

2. Installa le dipendenze

 

Apri il tuo terminale e esegui il seguente comando per installare le dipendenze richieste.

pip install -r requirements.txt

 

4. Esegui il comando di installazione

 

Esegui lo script seguente per gestire il processo di installazione:

python pip_build.py --install

 

5. Configura il backend

 

Per impostazione predefinita, Keras Core richiede strettamente TensorFlow come framework di backend, ma puoi configurarlo in due modi:

Opzione 01: Puoi impostare la variabile d’ambiente KERAS_BACKEND sulla tua opzione di backend preferita.

export KERAS_BACKEND="jax"

 

Opzione 02: Puoi modificare il file di configurazione locale di Keras situato in ~/.keras/keras.json. Apri il file in un editor di testo e cambia l’opzione “backend” con il tuo backend preferito.

{
    "backend": "jax",
    "floatx": "float32",
    "epsilon": 1e-7,
    "image_data_format": "channels_last"
}

 

6. Verifica l’installazione

 

Per verificare che Keras Core sia correttamente installato con il tuo backend scelto, puoi testarlo importando la libreria. Apri un interprete Python o un Jupyter Notebook e esegui il seguente comando:

import keras_core as keras

 

Note finali

 

Nonostante Keras 3.0 abbia alcune limitazioni, come la sua dipendenza attuale da TensorFlow e il supporto limitato di tf.data con altri backend, il potenziale futuro di questo framework è promettente. Keras ha rilasciato la versione beta al momento e incoraggia gli sviluppatori a fornire il loro prezioso feedback. Se sei interessato a esplorarlo ulteriormente, puoi trovare la documentazione di Keras Core (Keras 3.0) qui. Non aver paura di provare nuove idee. Keras 3.0 è uno strumento potente ed è un momento emozionante per essere parte dell’evoluzione.     Kanwal Mehreen è un aspirante sviluppatore di software con un grande interesse per la scienza dei dati e le applicazioni di intelligenza artificiale in medicina. Kanwal è stata selezionata come Google Generation Scholar 2022 per la regione APAC. Kanwal ama condividere conoscenze tecniche scrivendo articoli su argomenti di tendenza ed è appassionata di migliorare la rappresentazione delle donne nell’industria tecnologica.