TensorFlow2.0学习笔记——TensorFlow2.0简介

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,