TFX 一系列元件,專門用於可擴充的高效能機器學習工作,包括建立模型、進行訓練、提供推論,以及管理線上、行動裝置 (TensorFlow Lite)和網頁應用服務 (TensorFlow JS) 的部署。
ExampleGen
:
tf.Examples
格式,提供訓練與評估之用。StatisticsGen
:
pandas.describe()
、pandas.info()
的功能,也可以視覺化呈現。SchemaGen
:
ExampleValidator
:
Transform
:
這個元件會運用 TensorFlow Transform (TFT) 程式庫的功能執行特徵工程,分散運算的底層採用 Apache Beam ,程式在部署情境會轉成tf.Graph
,因為都是同一套程式碼,達到減少 training-severing skew
。
Transform 元件會產生 SavedModel
,在 Trainer 元件執行期間匯入並用於 TensorFlow 中的建模程式碼。如果也產生了 EvalSavedModel
,可進行後續模型分析,此時也須引入 TFMA 程式庫。
Tuner
:
Trainer
:
tensorflow
、tensorflow.keras
皆可。Evaluator
:
tfma.load_eval_results
、 tfma.view.render_slicing_metrics
可視覺化瞭解模型的特性,並視需要進行修改。InfraValidator
:
Pusher
:
Pusher
的功能分別對應部署在TensorFlow Lite
、TensorFlow JS
、 Tensorflow Serving
情境。BulkInferrer
:
這些元件之間的資料流向如下圖所示:
ExampleGen
接收 。StatisticsGen
接收 ExampleGen
數據產生統計情報,供 SchemaGen
產生 Schema、 ExampleValidator
驗證資料之用。SchemaGen
的資料定義也作為資料驗證ExampleValidator
、 Transform
特徵工程之用。Transform
特徵工程、Tuner
參數調整、Trainer
訓練模型為機械學習系統熟悉的建模核心。Trainer
訓練的模型交由 Evaluator
確保能否將模型投入生產、InfraValidator
內部驗證模型是否符合要求。Pusher
部署在網頁、手機終端設備、伺服器等情境。TFX pipeline 各元件與 TFX 程式模組關係對應:
主要程式庫包含
ExampleGen
、StatisticsGen
、SchemaGen
、ExampleValidator
皆屬於 TFDV 程式庫的功能。Apache Airflow 是一個平台,可透過程式輔助的方式編寫、排程及監控工作流程。TFX 使用 Airflow 將工作流程編寫為工作的有向非循環圖 (DAG),而 Airflow 排程器會執行工作站陣列的工作,並且遵循指定的相依性。
豐富的使用者介面方便您以視覺化的方式呈現在生產環境中執行的管線、監控進度,並視需要進行疑難排解。
將工作流程定義為程式碼,即可更輕鬆地進行維護、建立版本、測試和協同合作。