Search code examples
azureazure-machine-learning-service

In AzureML, start_logging will start asynchronous execution or synchronous execution?


It was written in the Microsoft AzureML documentation, "A run represents a single trial of an experiment. Runs are used to monitor the asynchronous execution of a trial" and A Run object is also created when you submit or start_logging with the Experiment class."

Related to start_logging, as far as I know, when we have simply started the run by executing this start logging method. We have to stop, or complete by complete method when the run is completed. This is because start_logging is a synchronized way of creating an experiment. However, Run object created from start_logging is to monitor the asynchronous execution of a trial.

Can anyone clarify whether start_logging will start asynchronous execution or synchronous execution?


Solution

  • start_logging will be considered as asynchronous execution as this generates the multiple interactive run sessions. In a specific experiment, there is a chance of multiple interactive sessions, that work parallelly and there will be no scenario to be followed in sequential.

    The individual operation can be performed and recognized based on the parameters like args and kwargs.

    When the start_logging is called, then an interactive run like jupyter notebook was created. The complete metrics and components which are created when the start_logging was called will be utilized. When the output directory was mentioned for each interactive run, based on the args value, the output folder will be called seamlessly.

    The following code block will help to define the operation of start_logging

    experiment = Experiment(your_workspace, "your_experiment_name")
       run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="test")
       ...
       run.log_metric("Accuracy_Value", accuracy)
       run.complete()
    

    the below code block will be defining the basic syntax of start_logging

    start_logging(*args, **kwargs)