Synapse Analytics Auto ML Predict 没有名为 'azureml.automl' 的模块

Synapse Analytics Auto ML Predict No module named 'azureml.automl'

我按照微软的官方教程:https://docs.microsoft.com/en-us/azure/synapse-analytics/machine-learning/tutorial-score-model-predict-spark-pool

当我执行时:

#Bind model within Spark session
 model = pcontext.bind_model(
     return_types=RETURN_TYPES, 
     runtime=RUNTIME, 
     model_alias="Sales", #This alias will be used in PREDICT call to refer  this   model
     model_uri=AML_MODEL_URI, #In case of AML, it will be AML_MODEL_URI
     aml_workspace=ws #This is only for AML. In case of ADLS, this parameter can be removed
 ).register()

我得到:没有名为 'azureml.automl'

的模块

My Notebook

根据我的反馈,您共享的上述代码正常工作,我没有看到您遇到的任何错误消息。

我什至在新创建的 Apache spark 3.1 运行time 上测试了相同的代码,它按预期工作。

我会请求你创建一个新集群,看看你是否能够运行上面的代码。

我解决了。就我而言,它最适合这样:

Imports

#Import libraries
from pyspark.sql.functions import col, pandas_udf,udf,lit
from notebookutils.mssparkutils import azureML
from azureml.core import Workspace, Model
from azureml.core.authentication import ServicePrincipalAuthentication
from azureml.core.model import Model
import joblib
import pandas as pd

ws = azureML.getWorkspace("AzureMLService")
spark.conf.set("spark.synapse.ml.predict.enabled","true")

Predict function

def forecastModel():
    model_path = Model.get_model_path(model_name="modelName", _workspace=ws)
    modeljob = joblib.load(model_path + "/model.pkl")

    validation_data = spark.read.format("csv") \
                            .option("header", True) \
                            .option("inferSchema",True) \
                            .option("sep", ";") \
                            .load("abfss://....csv")

    validation_data_pd = validation_data.toPandas()


    predict = modeljob.forecast(validation_data_pd)

    return predict