text: import pandas as pd
  from azureml.core import Environment
  from azureml.core.conda_dependencies import CondaDependencies
  from azureml.train.estimator import Estimator
  from azureml.core.run import Run
  
  
  def run_inference(test_experiment, compute_target, script_folder, train_run,
                    test_dataset, target_column_name, model_name):
  
      train_run.download_file('outputs/conda_env_v_1_0_0.yml',
                              'inference/condafile.yml')
  
      inference_env = Environment("myenv")
      inference_env.docker.enabled = True
      inference_env.python.conda_dependencies = CondaDependencies(
          conda_dependencies_file_path='inference/condafile.yml')
  
      est = Estimator(source_directory=script_folder,
                      entry_script='infer.py',
                      script_params={
                          '--target_column_name': target_column_name,
                          '--model_name': model_name
                      },
                      inputs=[test_dataset.as_named_input('test_data')],
                      compute_target=compute_target,
                      environment_definition=inference_env)
  
      run = test_experiment.submit(
          est, tags={
              'training_run_id': train_run.id,
              'run_algorithm': train_run.properties['run_algorithm'],
              'valid_score': train_run.properties['score'],
              'primary_metric': train_run.properties['primary_metric']
          })
  
      run.log("run_algorithm", run.tags['run_algorithm'])
      return run
  
  
  def get_result_df(remote_run):
  
      children = list(remote_run.get_children(recursive=True))
      summary_df = pd.DataFrame(index=['run_id', 'run_algorithm',
                                       'primary_metric', 'Score'])
      goal_minimize = False
      for run in children:
          if('run_algorithm' in run.properties and 'score' in run.properties):
              summary_df[run.id] = [run.id, run.properties['run_algorithm'],
                                    run.properties['primary_metric'],
                                    float(run.properties['score'])]
              if('goal' in run.properties):
                  goal_minimize = run.properties['goal'].split('_')[-1] == 'min'
  
      summary_df = summary_df.T.sort_values(
          'Score',
          ascending=goal_minimize).drop_duplicates(['run_algorithm'])
      summary_df = summary_df.set_index('run_algorithm')
  
      return summary_df
  