部署自定义模型和服务模型
本文描述如何部署自定义模型模型服务。
自定义逻辑模型和部署模型提供了灵活性。下面是示例场景,您可能希望使用指南。
您的模型需要预处理之前输入可以传递给模型的预测函数。
您的应用程序需要进行后期处理模型的原始输出的消费。
模型本身每请求分支逻辑。
你想完全自定义代码部署为模型。
构造一个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模型注册和服务模型模型服务端点。