Machine learning: Keras Core retourneert meerdere backends

Machine learning: Keras Core retourneert meerdere backends

Het ontwikkelingsteam achter Keras Deep Learning API heeft de Keras Core-versie uitgebracht. Dit is een preview-build van de nieuw geschreven Keras 3.0, die in de herfst uitkomt. Keras is ingebouwd in het machine learning-framework van TensorFlow en gebruikt dit sinds 2018 als enige backend. Dit verandert met Keras Core, dat een multi-backend-implementatie van TensorFlow, JAX en PyTorch met zich meebrengt.

advertentie

Keras is een high-level deep learning API geschreven in Python die momenteel exclusief draait op en is geïntegreerd met het open source TensorFlow-framework. Het was niet altijd het geval, zoals het Keras-team uitlegt, Keras kon ook op Theano en CNTK draaien. In 2018 besloot het team zich uitsluitend te concentreren op TensorFlow als backend, aangezien dit de enige haalbare optie was nadat Theano en CNTK de ontwikkeling hadden beëindigd.

Door de veranderende omstandigheden keert Keras 3.0 terug naar meerdere backends en ondersteunt naast TensorFlow ook ML PyTorch en JAX frameworks: Op basis van verschillende onderzoeken concludeerde het Keras-team dat TensorFlow, gemaakt door Google Brain, een marktaandeel heeft tussen de 55 en 60 procent. Het is de eerste keuze voor ML in productie, terwijl PyTorch, ontwikkeld door Facebook (nu Meta), een marktaandeel van 40-45 procent heeft en de eerste keuze is geworden voor ML-onderzoek. Vorig jaar heb ik Meta PyTorch overgezet naar de Linux Foundation als een open source-project.

De derde achtergrond ondersteunde JAX Het komt van Google en is ook open source. Het bestaat uit Autograd en XLA en wordt gebruikt om hoogwaardige numerieke berekeningen uit te voeren. Volgens het Keras-team wordt het, hoewel het marktaandeel kleiner is dan dat van PyTorch en TensorFlow, gebruikt door grote spelers in generatieve AI zoals Google, DeepMind, Midjourney en Cohere.

als alternatief voor tf.keras Het zou volledig compatibel moeten zijn met Keras Core tf.kerasGeef code weer met behulp van de TensorFlow-backend. In de meeste gevallen moet de import worden gedaan met behulp van import keras_core as keras in plaats van from tensorflow import keras Het is mogelijk zonder problemen in de code te veroorzaken en ook de prestaties iets te verhogen vanwege de gebruikte XLA-compilatie. Tenzij een tf.kerasSjabloon die alleen geïntegreerde lagen gebruikt, zou direct moeten werken met alle ondersteunde achtergronden.

advertentie

De voordelen van Keras Core zouden betere prestaties moeten omvatten, aangezien JAX bijvoorbeeld meestal de beste GPU-, TPU- en CPU-training en inferentieprestaties biedt, aldus het Keras-team. Meerdere backend-ondersteuning maakt dynamische selectie van backends mogelijk zonder de code te wijzigen. Het betekent ook een toename van het beschikbare ecosysteem. Keras-kernmodellen kunnen bijvoorbeeld worden gebruikt met PyTorch-ecosysteempakketten.

Ook wie zijn open source-modellen met anderen wil delen, profiteert hiervan, want een in Keras Core geïmplementeerd model kan ook gebruikt worden door PyTorch-gebruikers, ook als ze geen gebruik maken van Keras.

Keras Core is momenteel nog in bèta Versienummer 0.1.0 op github. In het najaar van 2023 komt Keras 3.0 hieruit en als scorepakket keras Hij verschijnt. De preview-versie is al “functie voltooid”. U zou dus geen nieuwe functies moeten ontvangen tot de definitieve releasedatum, maar het ontwikkelingsteam is van plan om de problemen die tijdens de testfase in Keras Core zijn gevonden op te lossen en deze in grotere projecten in productie te gebruiken. De community wordt ook aangemoedigd om Keras Core uitgebreid te testen en feedback te geven. Ondersteuning voor andere wallpapers is momenteel niet specifiek gepland, maar wordt op lange termijn niet uitgesloten.

Meer informatie over Keras Core inclusief een uitgebreide FAQ-sectie Verzendt Keras-blogbericht.


(misschien)

naar de homepage

READ  AMD Ryzen 7000 met TrueAudio-ondersteuning

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *