TensorFlow(TF)社區和Google的Brain團隊發布了作為TF API重要擴展的Tensor2Tensor。
Tensor2Tensor(T2T)解決了在TF上訓練和執行模型的模塊化和可移植性問題。它將常用的深度學習模型管道抽象成一個可擴展的對象模型,并提供了TF訓練所需要的標準API。T2T的目標之一是要降低模型訓練管道和執行環境的重復性成本,同時減少基于TF現有API進行常見操作的工作量,這些操作原本很難在用戶之間共享,它們有些只能用于解決特定的問題。
T2T基于現有的TF庫執行很多操作,包括模型架構、優化器、學習率衰退、scheme和超參數。它還提供了一些預訓練過的模型和樣本數據集、默認的模型規范,以及超參數和modality的控制方法。這樣有助于用戶重復實驗、比較和交換結果,讓他們專注在課題研究上,而不是把大量精力花費在編排TF管道環境上。
T2T的數據集為標準的TFRecord protobuf文件,訓練數據集可以通過用戶自定義的Problem子類來生成,或者通過Python裝飾器和直接函數調用的方式來生成。Problem對象由訓練時間超參數和它們的輸入輸出形態及數據集組成。Problem提供了一些方法用于處理編碼、文件路徑、輸入輸出目標、超參數和默認屬性值。模型的metrics(如模型準確度)也被封裝在Problem中。超參數集合通過裝飾器注冊成Hparams對象。
訓練可以被配置成同步或異步模式。通過環境變量TF_CONFIG可以指定master服務器和參數服務器,支持grpc和gpu群組,以及計算資源的邏輯集群。
查看英文原文: Google Announces Tensor2Tensor for TensorFlow