TensorFlow2.0--TensorFlow2.0構架

目錄

1、TensorFlow2.0主要特徵

2、架構

2.1 read &preprocess data

2.2 tf.keras

2.3 Premade Estimators

2.4 distribution strategy

2.5 SaveModel

3、開發流程

4、強大的跨平臺能力

5、 強大的研究實驗


1、TensorFlow2.0主要特徵

  • tf.keras和eager mode更加簡單
  • 魯棒的跨平臺模型部署
  • 更加靈活
  • 清除不推薦使用的API和減少重複來簡化API

 大家也可以看這個 ​​​​​​​ 


2、架構


該框架分爲兩大部分,左邊爲訓練部分,右邊爲模型部署。

2.1 read &preprocess data

首先,在讀取數據方面,可以使用tf.data加載數據。

使用輸入管道讀取訓練數據,輸入管道使用tf.data創建。利用tf.feature_column描述特徵,如分段和特徵交叉。此外還支持內存數據的便捷輸入(如NumPy)。

之後根據需求對數據進行預處理操作,如數據清洗、歸一化等。

2.2 tf.keras

使用tf.keras構建、訓練並驗證模型。

最近,官方宣佈Keras作爲一個用戶友好的機器學習API標準,將成爲用於構建和訓練模型的高級API。 Keras API讓用戶可以輕鬆開始使用TensorFlow。尤其重要的是,Keras提供了幾個模型構建API(順序,功能和子類),因此您可以爲項目選擇正確的抽象級別。

Keras API使得上手TensorFlow非常容易。重要的是,Keras提供了幾個模型構建API(Sequential、Functional以及Subclassing),因此用戶可以選擇正確的抽象化(abstraction)級別,TensorFlow的實現包含增強功能,包括eager execution、立即迭代(immediate iteration)和直觀調試(intuitive debugging),以及tf.data,用於構建可擴展的輸入pipeline。

TensorFlow的實現包含增強功能,包括急切執行,立即迭代和直觀調試,以及tf.data,用於構建可擴展的輸入管道。

2.3 Premade Estimators

  • Estimators評估器是TensorFlow用於實現一個完整的模型的最高層表示它可以處理參數初始化、日誌記錄、保存和恢復模型等功能。
  • 更詳細的介紹以及API可以戳這裏
  • TensorFLow提供了很多的預先寫好的評估器,包括DNNClassifier, DNNRegressor, LinearClassifier.

一開始學習的時候可以直接使用tf提供的這些評估器,有經驗之後也可以自己實現一個。
要使用tf預先寫好的estimator,必須依次完成以下工作:

  • 創建一個或多個輸入函數
  • 定義模型的特徵列。
  • 實例化estimator對象,並指定特徵列和各種超參數。
  • 在estimator對象上調用一個或多個方法,傳遞適當的輸入函數作爲數據源。

2.4 distribution strategy

使用分佈式策略進行分佈式訓練。

對於大型機器學習訓練任務,分佈式策略API可以輕鬆地在不同硬件配置上分配和訓練模型,無需更改模型的定義。由於TensorFlow支持各種硬件加速器,如CPU,GPU和TPU,因此用戶可以將訓練負載分配到單節點/多加速器以及多節點/多加速器配置上(包括TPU Pod)。這個API支持多種羣集化配置,也提供了在本地或雲環境中部署Kubernetes羣集訓練的模板。

2.5 SaveModel

TensorFlow將對Saved Model進行標準化,作爲TensorFlow服務的一部分,他將成爲TensorFlow Lite、TensorFlow.js、TensorFlow Hub等格式的可互換格式。

TensorFlow始終爲生產提供了直接部署方式。無論是部署在服務器、邊緣設備還是Web上,TensorFlow都可以讓用戶對模型實現輕鬆訓練和部署。無論用戶使用何種語言或平臺。在TensorFlow 2.0中,我們通過標準化互換格式和API對齊來提高跨平臺和組件的兼容性。

  • TensorFlow服務:TensorFlow庫,允許通過HTTP / REST或gRPC /協議緩衝區提供模型。
  • TensorFlow Lite:TensorFlow針對移動和嵌入式設備的輕量級解決方案提供了在Android,iOS和嵌入式系統(如Raspberry Pi和Edge TPU)上部署模型的功能。
  • TensorFlow.js:允許在JavaScript環境下部署模型,如在Web瀏覽器或服務器端通過Node.js實現部署。TensorFlow.js還支持使用類似Keras的API在JavaScript中定義模型並直接在Web瀏覽器中進行訓練。
  • TensorFlow還支持其他語言,包括C,Java,Go,C#,Rust,Julia,R等。

3、開發流程

4、強大的跨平臺能力

5、 強大的研究實驗


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章