TensorFlow2.0学习笔记——TensorFlow2.0简介
TensorFlow2.0的基本框架如下图:
使用tf.data来加载数据,使用tf.keras构建模型或使用Premade Estimators来验证,还可以使用TensorFlow Hub进行迁移学习,在CPU,GPU或TPU上来运行,保存模型后进行部署。
1 模型的开发流程
- 使用tf.data加载数据
- 使用tf.keras构建模型或使用Premade Estimators来验证,还可以使用TensorFlow Hub进行迁移学习。
- 使用eager mode进行运行和调试
- 使用分发策略来进行分布式训练
- 导出到SaveModel
- 使用TensorFlow Serve,TensorFlow Lite,TensorFlow.js部署模型
2 keras和TensorFlow
2.1 keras
- keras是基于Python的高级神经网络API
- keras运行需要一个后端,例如TensorFlow,CNTK,Theano
- 目前keras默认后端为TensorFlow
2.2 TensorFlow-keras
- TensorFlow-keras是TensorFlow对keras API在TensorFlow环境下的规范实现
- 相对于TensorFlow为后端的keras,TensorFlow-keras与TensorFlow结合更加紧密
- 实现在tf.keras下。
2.3 tf.keras与keras
tf.keras与keras基于同一套API
- keras程序可以通过修改导入方式,轻松转为tf.keras程序
- 反之可能不成立,因为tf.keras有其他特性
- tf.keras全面支持eager mode(用于实现动态图)
- 只是用keras.Sequential和keras.Model时,二者没有区别
- 自定义Model内部运算逻辑的时候会有区别:
* tf.keras可以使用TensorFlow底层的API,更适用于研究人员。 - tf.keras支持基于tf.data的模型训练
- tk.keras支持TPU训练
- tf.keras支持tf.distribution中的分布式策略
- tf.keras可以与TensorFlow中的estimator集成
- tf.keras可以保存为SavedModel,