取消
顯示的結果
而不是尋找
你的意思是:

在mlflow使用code_path。pyfunc模型磚

艾丹•
新的貢獻者二世

我們使用磚在AWS下文,mlflow注冊模型。我們寫在項目進口從src。(模塊位置)進口(對象)。

網上的例子,我認為當我使用mlflow.pyfunc.log_model (…code_path = [' PROJECT_ROOT / src '],…),這將增加整個代碼樹模型的運行環境,從而使我們能夠保持我們的進口也一樣。

日誌記錄模式時,我得到了一長串的[Errno 95]操作不支持,每個筆記本一個回購。這一塊我們mlflow從注冊模型。

我們使用一些特別的解決方案和解決方法,從強迫自己與所有的代碼在一個文件中,隻處理文件在同一目錄(code_path =['。/文件名。py '],添加特定的庫(並相應改變進口路徑),等等。

然而,這些是最優的。因此我們要麼重複代碼(殺死幹),或者我們把一些進口包裝內(即那些不能在我們的工作環境,因為它運行的不同的模型的經驗在部署時),等等。

我們還沒有試圖把所有的筆記本(我們相信的原因

[Errno 95]操作不支持)在一個單獨的文件夾。這將是極具破壞性的現狀和流程,我們想避免盡可能多。

有人遇到類似的情況嗎?

謝謝提前

2回答2

匿名
不適用

@Idan謝夫:

是的,這是經常遇到的問題與注冊模型mlflow當使用磚和進口來自其他模塊的代碼。一個可能的解決方案是顯式地指定代碼依賴項mlflow.pyfunc使用conda_env參數。log_model方法。

例如,您可以創建一個conda環境YAML文件(environment.yml)列出所有必需的包和依賴性,並指定該文件的路徑使用conda_env參數:

進口mlflow。pyfunc #定義的路徑環境。yml文件conda_env = "路徑/ /環境。yml“#日誌模式,指定的代碼路徑和mlflow.pyfunc conda環境。log_model (python_model =模型,artifact_path =“模型”,code_path = [" src "], conda_env = conda_env)

這將確保所有必需的包是安裝在環境模型部署時,您的代碼可以導入必要的模塊。

另一個選擇是使用——額外的文件選項時使用mlflow部署模型。這允許您指定附加的文件應該包含在模型的環境:

mlflow pyfunc部署——model-uri model_uri——額外的文件“src / * *”

這將包括在src目錄中所有文件在部署模型,確保您的代碼可以導入必要的模塊。

我希望這可以幫助!讓我知道如果你有任何進一步的問題。

Vidula_Khanna
主持人
主持人

嗨@Idan謝夫

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map