部署自定義模型和服務模型
本文描述如何部署自定義模型模型服務。
自定義邏輯模型和部署模型提供了靈活性。下麵是示例場景,您可能希望使用指南。
您的模型需要預處理之前輸入可以傳遞給模型的預測函數。
您的應用程序需要進行後期處理模型的原始輸出的消費。
模型本身每請求分支邏輯。
你想完全自定義代碼部署為模型。
構造一個MLflow定製模型
MLflow提供日誌的能力而編寫的自定義模型的形式模型自定義Python模型格式。
通過編寫一個磚建議構建自定義模型PythonModel
類。有兩個功能:
load_context
——需要加載的東西隻是一個時間的模型操作應該在這個函數中定義。這是關鍵,這樣係統最小化工件加載期間的數量預測
函數,它加速了推理。預測
——這房子的所有邏輯函數運行每次輸入請求。
記錄您的自定義模型
即使你正在寫你的模型自定義代碼,可以使用共享模塊的代碼從你的組織。與code_path
模型的參數,作者可以引用日誌已滿的代碼加載到自定義模型的路徑和可用的。
例如,如果一個模型記錄:
mlflow。pyfunc。log_model(CustomModel(),“模型”,code_path=(“preprocessing_utils /”])
代碼與preprocessing_utils
可用的上下文加載模型。下麵是一個示例模型,使用這段代碼。
類CustomModel(mlflow。pyfunc。PythonModel):defload_context(自我,上下文):自我。模型=火炬。負載(上下文。工件(“model-weights”])從preprocessing_utils.my_custom_tokenizer進口CustomTokenizer自我。分詞器=CustomTokenizer(上下文。工件(“tokenizer_cache”])defformat_inputs(自我,model_input):#插入一些代碼格式輸入通過defformat_outputs(自我,輸出):預測=(火炬。乙狀結腸(輸出))。數據。numpy()返回預測def預測(自我,上下文,model_input):model_input=自我。format_inputs(model_input)輸出=自我。模型。預測(model_input)返回自我。format_outputs(輸出)
為您的模型
登錄後您的自定義模型,你可以注冊它MLflow模型注冊和服務模型模型服務端點。