1.总的来说,Keras是目前排名最高的、非框架的深度学习库。Keras是基于其他其他深度学习库之上的开发的一套高层的神经网络API。打个比方,Tensorflow或者Theano是神经网络的巨人,那么Keras就是站在巨人肩膀上的人。Keras最初是由谷歌工程师开发,原因是帮助在Theano上进行快速的原型开发,用业内评价来说,Theano是一个功能非常强大但也是使用非常繁琐的神经网络框架。因此使用Keras可以大大简化开发流程。而在Tensorflow上也有相同的问题。要想学习Tensorflow,就要先学习谷歌的一套编程范式,像计算图、会话、张量的一些概念。因此谷歌工程师决定把Keras扩展到Tensorflow上,并且最近Tensorflow决定把Keras作为它的软件库进行提供。Keras被认为是构建神经网络的未来,几行代码就可以比原生的Tensorflow实现更多的功能。现在,越来越多的框架为Keras提供支持。
2.Keras的特点:
1)高层API:
Keras由纯Python编写而成。以Tesorflow、Theano、CNTK、DeepLearning4j(基于Java语言的神经网络工具包,使用Keras构建的模型可以直接导入到DeepLearning4j,从而可以在Java中使用)为后端。
(说明同一行代码只要对执行的后台进行修改,便能运行在不同的框架下面。)
2)用户友好:
Keras是为人类而不是天顶星人设计的API。Keras的作者在谷歌工作,Keras已经成为Tensorflow的官方API。
(使用Tensorflow编写的代码如果使用Keras实现通常可以将代码量缩小到原来的三分之一)
3)模块性:
网络层、损失函数、优化器、激活函数、正则化方法(各模块之间相互独立)
4)默认参数:
默认参数有研究支持。
5)产品原型发布:
IOS、Android、Python网页应用后端、JVM、树莓派Raspberry Pi
以上特性说明Keras基于快速实验而生,将idea迅速转化为成果。
神经网络框架
Keras的特点
Keras的特点