Error in score.py file while deploying a machine learning model through python

Senthil Murugan RAMACHANDRAN 21 Reputation points
2021-02-18T13:38:03.977+00:00

I have trained a machine learning model through python locally and I'm trying to deploy it to Azure with inference cluster. I'm able to train, upload data, register model but I'm unable to deploy the model. It's throwing path error but I have tried all the possible paths for my model. What is the correct path to the model? I have attached the error and code below for your reference. Any help is appreciated. Thanks a lot.

Error:
"code": "KubernetesDeploymentFailed",
"statusCode": 400,
"message": "Kubernetes Deployment failed",
details":
"code": "CrashLoopBackOff",
"message": "Error in entry script, FileNotFoundError: [Errno 2] No such file or directory: 'azureml-models/amlstudio-mlpredictionep01/1/sklearn_ml_exp', please run print(service.get_logs()) to get details."

Here is my score.py file:

def init():
global model
model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'sklearn_ml_exp')
model = joblib.load(model_path)

def run(raw_data):
data = np.array(json.loads(raw_data)['data'])
y_hat = model.predict(data)
return y_hat.tolist()

I registered the model with:

model = Model.register(workspace=ws,
model_name='sklearn_ml_exp',
model_path='outputs/prediction-model.pickle', # local path
description='Prediction model',
tags={'data-format': 'CSV'},
model_framework=Model.Framework.SCIKITLEARN,
model_framework_version='0.20.3')

Azure Machine Learning
Azure Machine Learning
An Azure machine learning service for building and deploying models.
3,023 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. GiftA-MSFT 11,171 Reputation points
    2021-02-18T20:27:19.747+00:00

    Hi, looks like you need to specify the correct model path that you used when you registered. It should look like this sklearn_mnist_model.pkl. The following document provides information on how to locate models in your entry script. Hope this helps!

    2 people found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.