Jump to content

Keras: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
add github page to external links
No edit summary
 
(43 intermediate revisions by 29 users not shown)
Line 1: Line 1:
{{short description|Neural network library}}
{{Short description|Neural network library}}
{{Infobox software
{{Infobox software
| name = Keras
| name = Keras
Line 7: Line 7:
| caption =
| caption =
| collapsible =
| collapsible =
| author = {{ill|François Chollet|fr}}
| author = [[François Chollet]]
| developer = various
| developer = ONEIROS
| released = {{Start date and age|2015|03|27|df=yes}}
| released = {{Start date and age|2015|03|27|df=yes}}
| latest release version = {{wikidata|property|reference|P348}}
| latest release version = 2.4.0<ref>[https://github.com/keras-team/keras/releases/tag/2.4.0 GitHub release], retrieved 2020-06-17</ref>
| latest release date = {{Start date and age|2020|06|17|df=yes}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest preview version =
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD}} -->
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD}} -->
Line 19: Line 19:
| size =
| size =
| language =
| language =
| genre = [[Artificial neural network|Neural network]]s
| genre = Frontend for [[TensorFlow]], [[Google JAX|JAX]] or [[PyTorch]] (and more)
| license = [[MIT License|MIT]]
| license = [[Apache License|Apache 2.0]]
| website = {{URL|https://keras.io/}}
| website =
| status = Active
}}
}}


'''Keras''' is an [[open-source software|open-source]] [[Library (computing)|library]] that provides a [[Python (programming language)|Python]] [[Interface (computing)|interface]] for [[artificial neural network]]s. Keras was first independent software, then integrated into the [[TensorFlow]] [[Library (computing)|library]], 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."<ref>{{Cite web |title=Keras: Deep Learning for humans |url=https://keras.io/keras_3/ |access-date=2024-04-30 |website=keras.io}}</ref> Keras 3 will be the default Keras version for TensorFlow 2.16 onwards, but Keras 2 can still be used.<ref>{{Cite web |title=What's new in TensorFlow 2.16 |url=https://blog.tensorflow.org/2024/03/whats-new-in-tensorflow-216.html |access-date=2024-04-30 |language=en}}</ref>
'''Keras''' is an [[Open-source software|open-source]] library that provides a [[Python (programming language)|Python]] interface for [[artificial neural network]]s. Keras acts as an interface for the [[TensorFlow]] library.


==History==
Up until version 2.3 Keras supported multiple backends, including [[TensorFlow]], [[Microsoft Cognitive Toolkit]], [[R (programming language)|R]], [[Theano (software)|Theano]], and [[PlaidML]].<ref>{{Cite web|url=https://keras.io/backend/|title=Keras backends|website=keras.io|access-date=2018-02-23}}</ref><ref name="why-keras">{{Cite web|url=https://keras.io/why-use-keras/|title=Why use Keras?|website=keras.io|access-date=2020-03-22}}</ref><ref>{{Cite web|url=https://keras.rstudio.com/|title=R interface to Keras|website=keras.rstudio.com|access-date=2020-03-22}}</ref> As of version 2.4, only [[TensorFlow]] is supported. Designed to enable fast experimentation with [[Deep learning|deep neural networks]], it focuses on being user-friendly, modular, and extensible. It was developed as part of the research effort of project ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System),<ref>{{Cite web|url=https://keras.io/#why-this-name-keras|title=Keras Documentation|website=keras.io|access-date=2016-09-18}}</ref> and its primary author and maintainer is François Chollet, a [[Google]] engineer. Chollet also is the author of the XCeption deep neural network model.<ref>{{cite arXiv
The name 'Keras' derives from the [[Ancient Greek]] word [[wiktionary:κέρας|κέρας]] (Keras) meaning 'horn'.<ref>{{Cite web |last=Team |first=Keras |title=Keras documentation: About Keras 3 |url=https://keras.io/about/ |access-date=2024-02-10 |website=keras.io |language=en}}</ref>

Designed to enable fast experimentation with [[deep learning|deep neural networks]], Keras focuses on being user-friendly, [[modular programming|modular]], and [[extensible programming|extensible]]. It was developed as part of the research effort of project ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System),<ref>{{Cite web|url=https://keras.io/#why-this-name-keras|title=Keras Documentation|website=keras.io|access-date=2016-09-18}}</ref> and its primary author and maintainer is [[François Chollet]], a [[Google]] engineer. Chollet is also the author of the [[Xception]] deep neural network model.<ref>{{cite arXiv
|title=Xception: Deep Learning with Depthwise Separable Convolutions
|title=Xception: Deep Learning with Depthwise Separable Convolutions
|last1=Chollet |first1=François
|last1=Chollet |first1=François
Line 33: Line 35:
|year=2016
|year=2016
}}</ref>
}}</ref>

Up until version 2.3, Keras supported multiple [[frontend and backend|backends]], including TensorFlow, [[Microsoft Cognitive Toolkit]], [[Theano (software)|Theano]], and [[PlaidML]].<ref>{{Cite web|url=https://keras.io/backend/|title=Keras backends|website=keras.io|access-date=2018-02-23}}</ref><ref name="why-keras">{{Cite web|url=https://keras.io/why-use-keras/|title=Why use Keras?|website=keras.io|access-date=2020-03-22}}</ref><ref>{{Cite web|url=https://keras.rstudio.com/|title=R interface to Keras|website=keras.rstudio.com|access-date=2020-03-22}}</ref>

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, supporting [[TensorFlow]], [[Google JAX|JAX]], and [[PyTorch]].<ref>{{cite web |title=Introducing Keras Core: Keras for TensorFlow, JAX, and PyTorch. |url=https://keras.io/keras_core/announcement/ |first1=François |last1=Chollet |first2=Lauren |last2=Usui |website=Keras.io |access-date=2023-07-11 |date=2023 }}</ref>


==Features==
==Features==
Keras contains numerous implementations of commonly used neural-network building blocks such as layers, [[Objective function|objectives]], [[activation function]]s, [[Mathematical optimization|optimizers]], and a host of tools to make working with image and text data easier to simplify the coding necessary for writing deep neural network code. The code is hosted on [[GitHub]], and community support forums include the GitHub issues page, and a [[Slack (software)|Slack]] channel.
Keras contains numerous implementations of commonly used neural-network building blocks such as layers, [[objective function|objectives]], [[activation function]]s, [[mathematical optimization|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 on [[GitHub]], and community support forums include the GitHub issues page, and a [[Slack (software)|Slack]] channel.{{citation needed|date=November 2023}}


In addition to standard neural networks, Keras has support for [[Convolutional neural networks|convolutional]] and [[recurrent neural networks]]. It supports other common utility layers like [[Dropout (neural networks)|dropout]], [[batch normalization]], and [[Pooling (neural networks)|pooling]].<ref>{{Cite web|url=https://keras.io/layers/core/|title=Core - Keras Documentation|website=keras.io|language=en|access-date=2018-11-14}}</ref>
In addition to standard neural networks, Keras has support for [[Convolutional neural networks|convolutional]] and [[recurrent neural networks]]. It supports other common utility layers like [[Dropout (neural networks)|dropout]], [[batch normalization]], and [[Pooling (neural networks)|pooling]].<ref>{{Cite web|url=https://keras.io/layers/core/|title=Core - Keras Documentation|website=keras.io|language=en|access-date=2018-11-14}}</ref>


Keras allows users to productize deep models on smartphones ([[iOS]] and [[Android (operating system)|Android]]), on the web, or on the [[Java Virtual Machine]].<ref name="why-keras" /> It also allows use of distributed training of deep-learning models on clusters of [[Graphics processing unit|Graphics processing units (GPU)]] and [[Tensor processing unit|tensor processing units (TPU)]].<ref>{{Cite web|url=https://www.tensorflow.org/guide/using_tpu|title=Using TPUs {{!}} TensorFlow|website=TensorFlow|language=en|access-date=2018-11-14}}</ref>
Keras allows users to produce deep models on smartphones ([[iOS]] and [[Android (operating system)|Android]]), on the web, or on the [[Java virtual machine|Java Virtual Machine]].<ref name="why-keras" /> It also allows use of distributed training of deep-learning models on clusters of [[Graphics processing unit|graphics processing units (GPU)]] and [[Tensor processing unit|tensor processing units (TPU)]].<ref>{{Cite web|url=https://www.tensorflow.org/guide/using_tpu|title=Using TPUs {{!}} TensorFlow|website=TensorFlow|language=en|access-date=2018-11-14|archive-date=2019-06-04|archive-url=https://web.archive.org/web/20190604082736/https://www.tensorflow.org/guide/using_tpu|url-status=dead}}</ref>

==Traction==
Keras claims over 375,000 individual users as of early-2020.<ref name="why-keras" /> Keras was the 10th most cited tool in the [[KDnuggets]] 2018 software poll and registered a 22% usage.<ref>{{cite web |last1=Piatetsky |first1=Gregory |title=Python eats away at R: Top Software for Analytics, Data Science, Machine Learning in 2018: Trends and Analysis |url=https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html/2 |website=KDnuggets |publisher=KDnuggets |accessdate=30 May 2018}}</ref>


==See also==
==See also==
Line 48: Line 51:


==References==
==References==
{{Reflist}}
{{Reflist|1}}


==External links==
==External links==
*{{Official website|https://keras.io/}}
*{{Official website|https://keras.io/}}
*[https://github.com/keras-team/keras Keras] on [[GitHub|Github]]
*[https://github.com/keras-team/keras Keras] on [[GitHub]]


{{Differentiable computing}}
{{Deep Learning Software}}
{{Deep Learning Software}}


[[Category:Applied machine learning]]
[[Category:Deep learning software]]
[[Category:Data mining and machine learning software]]
[[Category:Deep learning]]
[[Category:Free statistical software]]
[[Category:Free statistical software]]
[[Category:Python (programming language) scientific libraries]]
[[Category:Python (programming language) scientific libraries]]
[[Category:Software using the MIT license]]
[[Category:Software using the Apache license]]

Latest revision as of 11:04, 3 August 2024

Keras
Original author(s)François Chollet
Developer(s)ONEIROS
Initial release27 March 2015; 9 years ago (2015-03-27)
Stable release
3.5.0[1] / 12 August 2024; 31 days ago (12 August 2024)
Repository
Written inPython
PlatformCross-platform
TypFrontend for TensorFlow, JAX or PyTorch (and more)
LicenseApache 2.0
Websitekeras.io Edit this on Wikidata

Keras is an open-source library that provides a Python interface for artificial neural networks. Keras was first independent software, then integrated into the TensorFlow library, 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 the Ancient Greek word κέρας (Keras) meaning 'horn'.[4]

Designed to enable fast experimentation with deep neural networks, Keras focuses on being user-friendly, modular, and extensible. 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 is François Chollet, a Google engineer. Chollet is also the author of the Xception deep neural network model.[6]

Up until version 2.3, Keras supported multiple backends, including TensorFlow, Microsoft Cognitive Toolkit, Theano, and PlaidML.[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, supporting TensorFlow, JAX, and PyTorch.[10]

Eigenschaften

[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 on GitHub, and community support forums include the GitHub issues page, and a Slack channel.[citation needed]

In addition to standard neural networks, Keras has support for convolutional and recurrent neural networks. It supports other common utility layers like dropout, batch normalization, and pooling.[11]

Keras allows users to produce deep models on smartphones (iOS and Android), on the web, or on the Java Virtual Machine.[8] It also allows use of distributed training of deep-learning models on clusters of graphics processing units (GPU) and tensor processing units (TPU).[12]

See also

[edit]

References

[edit]
  1. ^ "Release 3.5.0". 12 August 2024. Retrieved 22 August 2024.
  2. ^ "Keras: Deep Learning for humans". keras.io. Retrieved 2024-04-30.
  3. ^ "What's new in TensorFlow 2.16". Retrieved 2024-04-30.
  4. ^ Team, Keras. "Keras documentation: About Keras 3". keras.io. Retrieved 2024-02-10.
  5. ^ "Keras Documentation". keras.io. Retrieved 2016-09-18.
  6. ^ Chollet, François (2016). "Xception: Deep Learning with Depthwise Separable Convolutions". arXiv:1610.02357.
  7. ^ "Keras backends". keras.io. Retrieved 2018-02-23.
  8. ^ a b "Why use Keras?". keras.io. Retrieved 2020-03-22.
  9. ^ "R interface to Keras". keras.rstudio.com. Retrieved 2020-03-22.
  10. ^ Chollet, François; Usui, Lauren (2023). "Introducing Keras Core: Keras for TensorFlow, JAX, and PyTorch". Keras.io. Retrieved 2023-07-11.
  11. ^ "Core - Keras Documentation". keras.io. Retrieved 2018-11-14.
  12. ^ "Using TPUs | TensorFlow". TensorFlow. Archived from the original on 2019-06-04. Retrieved 2018-11-14.
[edit]