日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度學習實戰(不定時更新)
2.5 TFAPI使用2.0建議
學習目標
- 目標
- 無
- 應用
- 無
2.5.2 TF2.0最新架構圖
- 飽受詬病TF1.0的API混亂
- 刪除 queue runner 以支持 tf.data。
- 刪除圖形集合。
- API 符號的移動和重命名。
- tf.contrib 將從核心 TensorFlow 存儲庫和構建過程中移除
TensorFlow 2.0 將專注於 簡單性 和 易用性,具有以下更新:
- 使用 Keras 和 eager execution,輕鬆構建模型
- 在任意平臺上實現生產環境的穩健模型部署
- 爲研究提供強大的實驗工具
- 通過清理廢棄的 API 和減少重複來簡化 API
1、使用tf.data加載數據。使用輸入管道讀取訓練數據,輸入管道使用tf.data創建。利用tf.feature_column描述特徵,如分段和特徵交叉。
2、使用tf.keras構建、訓練並驗證模型,或者使用Premade Estimators。
- Keras與TensorFlow的其餘部分緊密集成,因此用戶可以隨時訪問TensorFlow的函數。如線性或邏輯迴歸、梯度上升樹、隨機森林等也可以直接使用(使用tf.estimatorAPI實現)。
- 如果不想從頭開始訓練模型,用戶也可以很快利用遷移學習來訓練使用TensorFlow Hub模塊的Keras或Estimator模型。(遷移學習)
3、使用分佈式策略進行分佈式訓練。對於大型機器學習訓練任務,分佈式策略API可以輕鬆地在不同硬件配置上分配和訓練模型,無需更改模型的定義。由於TensorFlow支持各種硬件加速器,如CPU,GPU和TPU,因此用戶可以將訓練負載分配到單節點/多加速器以及多節點/多加速器配置上(包括TPU Pod)。
4、導出到Saved Model。 TensorFlow將對Saved Model進行標準化,作爲TensorFlow服務的一部分,他將成爲TensorFlow Lite、TensorFlow.js、TensorFlow Hub等格式的可互換格式。
工作流程
2.5.3 API
- 高層API (High level): 包括Estimators、Keras以及預構建好的Premade estimator(如線性迴歸、邏輯迴歸這些、推薦排序模型wide&deep);
- 中層API (Mid level): 包括layers, datasets, loss和metrics等具有功能性的函數,例如網絡層的定義,Loss Function,對結果的測量函數等;
- 底層API (Low level): 包括具體的加減乘除、具有解析式的數學函數、卷積、對Tensor屬性的測量等。