1

Currently crating inf_conf from entry script (score.py) and environment however, I have a json file that i also want to include in this.

Is there a way i can do this?

I have seen source_directory argument but json file is not in the same folder as score.py file. https://learn.microsoft.com/en-us/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py

inf_conf = InferenceConfig(entry_script="score.py",environment=environment)
Ross
  • 99
  • 8
  • Directly there is not valid possibility to add extra file argument to azureml inference config. There is a valid chain to be followed. Kindly refer to this link for the flow. https://github.com/microsoft/MLOps/tree/master/examples/imagenet-transfer-learning – Sairam Tadepalli Oct 13 '22 at 07:22

1 Answers1

1

Currently, it is required that all the necessary files and objects related to the endpoint be placed in the source_directory:

inference_config = InferenceConfig(
    environment=env,
    source_directory='./endpoint_source',
    entry_script="./score.py",
)

One workaround is to upload your JSON file somewhere else, e.g., on the Blob Storage, and download it in the init() function of your entry script. For example:

score.py:

import requests


def init():
    """
    This function is called when the container is initialized/started,
    typically after create/update of the deployment.
    """
    global model
    
    # things related to initializing the model
    model = ...  
    
    # download your JSON file
    json_file_rul = 'https://sampleazurestorage.blob.core.windows.net/data/my-configs.json'
    response = requests.get(json_file_rul)
    open('my_configs.json', "wb").write(response.content)
msamsami
  • 644
  • 5
  • 10