tensorflow-keras简介
一、keras是什么
- 基于python的高级神经网络API
- Francois Chollet于2014–2015年编写Keras
- 以Tensorflow、CNTK或者Theano为后端运行,Keras必须有后端才可以运行,后端可以切换,现在多用于tensorflow
- 极方便于快速实验,以最少的时间验证自己的想法
二、tensorflow-keras是什么
- tensorflow对keras API规范的实现
- 相对于以tensorflow为后端的keras,Tensorflow-keras与Tensorflow结合更加紧密
- 实现在tf.keras空间下
1、Tf-keras与keras联系
- 基于同一套API
- keras程序可以通过改导入方式轻松为tf.keras程序
- 反之可能不成立,因为tf.keras有其他特性
- 相同的JSON和HDF5模型序列化格式和语义
2.Tf-keras与keras的区别
-
tf.keras全面支持eager mode(如果只是用keras.Sequential和keras。model时没有影响)
-
自定义Model内部运算逻辑的时候会有影响
Tf低层API可以使用keras的model.fit等抽象
适合于研究人员
-
Tf.keras支持基于tf.data的模型训练
-
Tf.keras支持TPU训练
-
Tf.keras支持tf.distribution中的分布式策略
-
Tf.keras可以与tensorflow中的estimator集成
-
Tf.keras可以保存为SavedModel
三、如何选择
- 如果想要Tf.keras的任何一个特性,就选Tf.keras
- 如果后端的互换性重要,就选keras
- 都不重要,那就随便