from azureml.core import Experiment, ScriptRunConfig, Environment from azureml.widgets import RunDetails # Create a Python environment for the experiment (from a .yml file) env = Environment.from_conda_specification("experiment_env", "environment.yml") # Create a Python environment for the experiment (pip installing requirements.txt) # env = Environment.from_pip_requirements("experiment_env", "requirements.txt", pip_version=None) dataset = Dataset.get_by_name(ws, name='diabetes dataset') alphas = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] for alpha in alphas: # Create a script config script_config = ScriptRunConfig(source_directory=experiment_folder, script='diabetes_training.py', arguments=['--input-data', dataset.as_named_input('diabetes_data'), '--alpha',alpha], compute_target=cpu_cluster, environment=env) # submit the experiment run experiment_name = 'mlseries-train-diabetes' experiment = Experiment(workspace=ws, name=experiment_name) run = experiment.submit(config=script_config) RunDetails(run).show() run.wait_for_completion() model_name = "model_alpha_" + str(alpha) + ".pkl" filename = "outputs/" + model_name run.download_file(filename,filename) # Register the model run.register_model(model_path=filename, model_name='diabetes_model', tags={'Training context':'Script'}, properties={"Alpha": run.get_metrics()['alpha_value'], "rmse" : run.get_metrics()['rmse'] }) # Show the running experiment run in the notebook widget # Block until the experiment run has completed