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.
- L’AI e gli impianti cerebrali ripristinano il movimento e la sensazione per un uomo paralizzato
- Abbracciare l’IA per lo sviluppo del software strategie di soluzione e implementazione
- Top 40 Strumenti di Intelligenza Artificiale Generativa 2023
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.