Introduction of keras
- keras是基於python的高級神經網路的API
- 其必須要有後端才可以運行
- 支持Tensorflow、CNTK、Theano為後端運行
- 後端是可以切換的,現在多用Tensorflow
- 因其圖像化功能優異,極方便於快速實驗
- 幫助用戶以最少的時間驗證自己的想法
Introduction of Tensorflow-keras
- Tensorflow對keras API規範的實現
- 以Tensorflow為後端的keras 和 Tensorflow-keras是兩碼子事
- Tensorflow-keras與Tensorflow 結合更加緊密
- 其實現在
tf.keras
空間下
Tf.keras 和 keras的聯繫
- 基於同一套API
- 原keras程序可以通過改導入(
import
…)的方式輕鬆轉為tf.keras
程序 - 反之要轉為keras的代碼可能不成立
tf.keras
有其他特性
- 原keras程序可以通過改導入(
- 相同的JSON和HDF5模型序列化格式和語議
tf.keras 和 keras的區別
tf.keras
全面支持eager mode- 若只是用
keras.Sequential
和keras.Model
API時並沒有影響 - 但若是需要自定義Model內部運算邏輯的時候便會受到影響
- 若只是用
tf.keras
可以使用tensorflow底層的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