引入mlflow-apps: MLflow庫的示例應用程序
介紹
今年夏天,我是一個軟件工程實習生在磚機器學習(ML)平台團隊。Beplay体育安卓版本作為我的實習項目的一部分,我構建了一組MLflow應用演示MLflow社區的功能,並提供例子來學習。
在這個博客中,我將討論這個圖書館可插入毫升應用程序,所有可運行通過MLflow。此外,我將分享我如何實現兩個MLflow特性:實習期間運行MLprojects從Git目錄和TensorFlow集成。
mlflow-apps:一組示例MLflow應用程序
mlflow-apps是可插拔的存儲庫通過MLflow毫升應用程序可運行。它幫助用戶獲得啟動使用MLflow通過提供如何使用MLflow具體的例子。
通過一行MLflow API調用或CLI命令,用戶可以運行應用程序訓練TensorFlow, XGBoost和scikit-learn模型數據存儲在本地或在雲存儲。這些應用程序日誌通過常見的指標和參數MLflow的跟蹤api,允許用戶輕鬆地比較擬合模型。
目前,mlflow-apps關注模型訓練,但是我們計劃添加額外的功能特性工程/數據預處理。在這方麵我們歡迎社區的貢獻。
mlflow-apps包含三個應用程序,每個創建和火車不同模型基於你的輸入數據。模型訓練的應用有:
好奇如何使用應用程序?你可以看到應用程序的源代碼和一個簡短的教程在存儲庫中在這裏。對於深入教程演示如何使用這些應用程序與MLflow磚內,看看這個筆記本。
加強開源MLflow
MLflow有能力運行MLflow項目位於遠程git存儲庫,通過CLI命令等
mlflow git運行@githubcom:例子/ example.git……
MLflow現在可以執行毫升項目描述MLproject文件位於子目錄的git存儲庫。之前,執行一個MLflow運行從一個遠程存儲庫要求MLproject和conda。yaml文件的根目錄git存儲庫。一個例子git存儲庫結構必須看起來像下麵的:
這個git存儲庫結構會導致每個項目分享不必要的相互依賴關係(如運行sklearn_file
需要conda環境中安裝了所有的三種不同框架盡管隻有sklearn需要)。實現的新功能,命令可能看起來像這樣:
mlflow運行(電子郵件保護):例子/ example.git# sklearn_project……
隨後將訪問MLproject文件位於子目錄中叫什麼sklearn_project
。前麵的示例git回購上麵現在可以重組等:
現在,項目和依賴關係模塊化和(如分離出來。sklearn_project
隻需要sklearn
框架創建conda環境時)。這反過來會導致一個更幹淨、更容易與MLflow用戶體驗。
TensorFlow集成MLflow
雖然MLflow允許用戶使用任何毫升庫運行和部署模型,我們也希望這個項目有內置的簡單易用的集成與流行的庫。作為實習的一部分,我開發了一個TensorFlow集成,它允許儲蓄、加載和部署TensorFlow模型。
#儲蓄TensorFlow模型。saved_estimator_path = estimator.export_savedmodel (saved_estimator_path,receiver_fn) .decode (“utf - 8”)#日誌TensorFlow模型就得救了。mlflow.tensorflow.log_saved_model (saved_model_dir = saved_estimator_path,signature_def_key =“預測”,artifact_path = tmp.path (“模型”))
除了日誌TensorFlow模型,您可以加載回並執行推理使用MLflow api。
#加載模型作為一條巨蟒函數pyfunc = mlflow.tensorflow.load_pyfunc (mlflow.tracking._get_model_log_dir (model_name =路徑,run_id = run_id))#預測與新或測試數據預測= pyfunc.predict (test_df)
MLflow目前內置集成TensorFlow SparkML, H2O, sklearn模型。注意更多的框架支持在不久的將來!
結論
mlflow-apps上工作的時候,我能夠體驗MLflow作為用戶和項目開發人員。我能夠更好的看到如何緊密交織在一起的社區和項目開發人員MLflow等開放源碼項目。
作為我的第一次實習,我不可能要求一個更好的體驗。我進磚渴望學習一切關於工業和新技術——我發現工程師匹配我的學習欲望。因為我是在一個環境中,完成工程師不斷推動自己學習和挑戰自我,鼓勵我,反過來,是做同樣的事情。因此,我提高了我的技能作為一個軟件工程師突飛猛進。
特別shoutout生產服務和ML平台團隊,其中包括馬泰Zaharia亞倫戴維森,安德魯·陳保羅•OBeplay体育安卓版本gilvie摩尼Parkhe,托馬斯Nykodym,安蘇,科裏Zumar和我的導師Sid默奇。謝謝你的美妙的夏天!
閱讀更多
看看其他資源學習MLflow & mlflow-apps: