我正在迁移到Azure Function App以使用Azure容器实例部署进行模型推断.下面的代码显示了我是如何将模型加载到Scotre.py中的
import json
import pandas as pd
from joblib import load
import os
import pathlib
from azureml.core.model import Model
def init():
global model
def run(raw_data):
try:
# parse the features from the json doc
dat = json.loads(raw_data)
# deserialize the model file back into a sklearn model
model_name = "{0}_{1}_{2}_sfsw".format(
dat["MachineName"], dat["HeadNumber"], dat["ProductEDP"])
model_path = Model.get_model_path(model_name=model_name)
model = load(model_path)
我如何将模型加载到Azure功能应用程序中.也会是同样的方式吗?是def init(): 还需要全球模型吗?以下是azure函数python应用程序的代码
import pandas as pd
import logging
import azure.functions as func
import joblib
from azureml.core.model import Model
def main(req: func.HttpRequest):
logging.info("Python HTTP trigger function processed a request.")
try:
# Check if request contains JSON
if not req.get_json():
return func.HttpResponse(
"JSON data expected in request.",
status_code=400
)
dat = req.get_json()
except ValueError:
return func.HttpResponse(
"Invalid JSON received.",
status_code=400
)
# Load the model
try:
# deserialize the model file back into a sklearn model
model_name = "{0}_{1}_{2}_sfsw".format(
dat["MachineName"], dat["HeadNumber"], dat["ProductEDP"])
model_path = Model.get_model_path(model_name=model_name)
model = joblib.load(model_path)
except FileNotFoundError:
return func.HttpResponse(
f"Model '{model_name}' not found.",
status_code=404
)