什么是Keras

时间:2022-10-11 12:55:56

今天开始读一本关于Keras的深度学习书籍,计划每天记录一些所得。

直奔主题,既然要学Keras,那什么是Keras,Keras和其他机器学习、深度学习库有什么区别?

让我们看看Keras中文文档中的定义:

Keras是一个模型库,是为开发深度学习模型提供了高层次的构建模块。它不处理诸如张量乘积和卷积等低级操作。相反,它依赖于一个专门的、优化的张量操作库来完成这个操作,它可以作为 Keras 的「后端引擎」。相比单独地选择一个张量库,而将 Keras 的实现与该库相关联,Keras 以模块方式处理这个问题,并且可以将几个不同的后端引擎无缝嵌入到 Keras 中。

简单来说,Keras就是一个包含各种各样深度学习模型并且方便调用的库,通过接口你便可以构造想要的模型,这也就是定义中高层次的意思:你不需要去深入了解怎么实现,只需要去调用即可。同样,高度封装也就意味着灵活性欠缺,你没法像使用TensorFlow那样深入底层,去修改调整甚至创造属于自己的模型。

而目前Keras可以支持的后端(Backend)有三个:TensorFlow 后端,Theano 后端,CNTK 后端。

那什么是后端?

Keras不处理诸如张量乘积和卷积等低级操作。因此,Keras依赖于一个专门的、优化的张量操作库来完成这个操作,它可以作为 Keras 的「后端引擎」。相比单独地选择一个张量库,而将 Keras 的实现与该库相关联,Keras 以模块方式处理这个问题,并且可以将几个不同的后端引擎无缝嵌入到 Keras 中。

多后端的Keras因此可以作为API更好的整合目前各种深度学习库,兼容各种主流学习库是目前Keras的方向,这也使得Keras除了便捷、友好等特性外也有着很好的前途,充满生机。

另外,还需要了解Keras的一些细节

(1)纯Python语言编写

(2)支持GPU和CPU

(3)适用版本:Python 2.7-3.6以及更新的版本

更多细节,请看Keras中文文档:https://keras.io/zh/

原文链接:https://blog.csdn.net/qq_41629976/article/details/100547479