Keras是一个开源软件库,为人工神经网络提供Python接口。它充当TensorFlow库的接口。Keras于2015年首次发布,旨在支持深度神经网络的快速实验,专注于用户友好性、模块化和可扩展性。Keras这一名称源自于古希腊语单词κέρας(keras),意为“角”。
历史
Keras是作为ONEIROS项目(开放式神经电子智能机器人操作系统)研究努力的一部分而开发的。其主要作者和维护者是François Chollet,一名截至2024年的谷歌工程师。最初,Keras是独立的软件,但后来被集成到TensorFlow库中。直至版本2.3,Keras支持多种后端,包括TensorFlow、Microsoft认知工具包、Theano和PlaidML。从版本2.4到版本3.0,仅支持TensorFlow。从版本3.0(及其预览版Keras Core)开始,Keras再次变为多后端,支持TensorFlow、JAX和PyTorch。Keras 3从TensorFlow 2.16起成为默认版本,但Keras 2仍可使用。
特点
Keras包含了许多常用神经网络构建模块的实现,如层、目标函数、激活函数、优化器,以及大量用于处理图像和文本数据的工具。这简化了深度神经网络的编程。除了标准神经网络外,Keras还支持卷积神经网络和循环神经网络。它还支持其他常见的实用层,如丢弃层、批量归一化和池化。Keras允许用户在生产中的智能手机(iOS和Android)、Web或Java虚拟机上构建深度模型。它还允许在图形处理单元(GPU)和处理器集群上对深度学习模型进行分布式训练。
采用与影响
Keras已成为使用最广泛的高层神经网络API之一,尤其在Machine learning社区中。其与TensorFlow的集成使其成为许多Deep learning应用的标准工具。该库以其易用性而闻名,这有助于其在初学者和研究人员中的普及。Keras还用于各种Artificial intelligence项目,包括涉及Generative AI和Large language model的项目。该库的灵活性及多后端支持使其成为开发和部署神经网络的通用选择。
参见
- 深度学习软件比较
- 神经网络
- TensorFlow
- PyTorch
- JAX
参考文献
- Keras文档和官方网站
- TensorFlow发布说明
- François Chollet的出版物和演讲