Keras
![]() | |
Original author(s) | François Chollet |
---|---|
Developer(s) | ONEIROS |
Initial release | 27 March 2015 |
Stable release | 3.5.0[1]
/ 12 August 2024 |
Repository | |
Written in | Python |
Platform | Cross-platform |
Type | Frontend forTensorFlow,JAXorPyTorch(and more) |
License | Apache 2.0 |
Website | keras![]() |
Kerasis anopen-sourcelibrarythat provides aPythoninterfaceforartificial neural networks.Keras was first independent software, then integrated into theTensorFlowlibrary,and later supporting more. "Keras 3 is a full rewrite of Keras [and can be used] as a low-level cross-framework language to develop custom components such as layers, models, or metrics that can be used in native workflows in JAX, TensorFlow, or PyTorch — with one codebase."[2]Keras 3 will be the default Keras version for TensorFlow 2.16 onwards, but Keras 2 can still be used.[3]
History
[edit]The name 'Keras' derives from theAncient Greekwordκέρας(Keras) meaning 'horn'.[4]
Designed to enable fast experimentation withdeep neural networks,Keras focuses on being user-friendly,modular,andextensible.It was developed as part of the research effort of project ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System),[5]and its primary author and maintainer isFrançois Chollet,aGoogleengineer. Chollet is also the author of theXceptiondeep neural network model.[6]
Up until version 2.3, Keras supported multiplebackends,including TensorFlow,Microsoft Cognitive Toolkit,Theano,andPlaidML.[7][8][9]
As of version 2.4, only TensorFlow was supported. Starting with version 3.0 (as well as its preview version, Keras Core), however, Keras has become multi-backend again, supportingTensorFlow,JAX,andPyTorch.[10]
Features
[edit]Keras contains numerous implementations of commonly used neural-network building blocks such as layers,objectives,activation functions,optimizers,and a host of tools for working with image and text data to simplify programming in deep neural network area. The code is hosted onGitHub,and community support forums include the GitHub issues page, and aSlackchannel.[citation needed]
In addition to standard neural networks, Keras has support forconvolutionalandrecurrent neural networks.It supports other common utility layers likedropout,batch normalization,andpooling.[11]
Keras allows users to produce deep models on smartphones (iOSandAndroid), on the web, or on theJava Virtual Machine.[8]It also allows use of distributed training of deep-learning models on clusters ofgraphics processing units (GPU)andtensor processing units (TPU).[12]
See also
[edit]References
[edit]- ^"Release 3.5.0".12 August 2024.Retrieved22 August2024.
- ^"Keras: Deep Learning for humans".keras.io.Retrieved2024-04-30.
- ^"What's new in TensorFlow 2.16".Retrieved2024-04-30.
- ^Team, Keras."Keras documentation: About Keras 3".keras.io.Retrieved2024-02-10.
- ^"Keras Documentation".keras.io.Retrieved2016-09-18.
- ^Chollet, François (2016). "Xception: Deep Learning with Depthwise Separable Convolutions".arXiv:1610.02357.
- ^"Keras backends".keras.io.Retrieved2018-02-23.
- ^ab"Why use Keras?".keras.io.Retrieved2020-03-22.
- ^"R interface to Keras".keras.rstudio.Retrieved2020-03-22.
- ^Chollet, François; Usui, Lauren (2023)."Introducing Keras Core: Keras for TensorFlow, JAX, and PyTorch".Keras.io.Retrieved2023-07-11.
- ^"Core - Keras Documentation".keras.io.Retrieved2018-11-14.
- ^"Using TPUs | TensorFlow".TensorFlow.Archived fromthe originalon 2019-06-04.Retrieved2018-11-14.