00-Keras之入门介绍
Keras是一个高层神经网络库,Keras由纯Python编写而成并基于Tensorflow或Theano。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果。
Keras特点
- 简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
- 支持CNN和RNN,或二者的结合
- 支持任意的链接方案(包括多输入和多输出训练)
- 无缝CPU和GPU切换
Keras设计原则
- 模块性:模型可理解为一个独立的序列或图,完全可配置的模块以最少的代价自由组合在一起。具体而言,网络层、损失函数、优化器、初始化策略、激活函数、正则化方法都是独立的模块,你可以使用它们来构建自己的模型。
- 极简主义:每个模块都应该尽量的简洁。每一段代码都应该在初次阅读时都显得直观易懂。没有黑魔法,因为它将给迭代和创新带来麻烦。
- 易扩展性:添加新模块超级简单的容易,只需要仿照现有的模块编写新的类或函数即可。创建新模块的便利性使得Keras更适合于先进的研究工作。
- 与Python协作:Keras没有单独的模型配置文件类型(作为对比,caffe有),模型由python代码描述,使其更紧凑和更易debug,并提供了扩展的便利性。
Keras新特性
- 泛型模型:简单和强大的新模块,用于支持复杂深度学习模型的搭建。
- 更优秀的性能:现在,Keras模型的编译时间得到