说明:笔记是参考keras中文文档写的(其实就是照搬过来,然后删减了一小部分),用于自己加深keras的学习,如读者要学习keras,请移步keras中文文档
概述
Keras是一个高层神经网络API,,由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。
Keras 为支持快速实验而生,能够把你的idea迅速转换为结果。
如果你有如下需求,请选择Keras:
- 简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
- 支持CNN和RNN,或二者的结合
- 无缝CPU和GPU切换
Keras适用的Python版本是:Python 2.7-3.5
Keras的设计原则:
- 用户友好:Keras提供一致而简洁的API,能够极大减少一般应用下用户的工作量。同时,Keras提供清晰和具有实践意义的bug反馈。
- 模块性:模型可理解为一个层的序列或数据的运算图,完全可配置的模块可以用最少的代价自由组合在一起。具体而言,网络层、损失函数、优化器、初始化策略、激活函数、正则化方法都是独立的模块,你可以使用它们来构建自己的模型。
- 易扩展性:添加新模块超级容易,只需要仿照现有的模块编写新的类或函数即可。
- 与Python协作:Keras没有单独的模型配置文件类型(作为对比,caffe有),模型由python代码描述,使其更紧凑和更易debug,并提供了扩展的便利性。