print("Best model found so far:") pprint(tuning_job_result['BestTrainingJob']) else: print("No training jobs have reported results yet.") # ### Fetch all results as DataFrame # # You can list hyperparameters and objective metrics of all training jobs and pick up the training job with the best objective metric. # In[ ]: import pandas as pd tuner = sagemaker.HyperparameterTuningJobAnalytics(job_name) full_df = tuner.dataframe() if len(full_df) > 0: df = full_df[full_df['FinalObjectiveValue'] > -float('inf')] if len(df) > 0: df = df.sort_values('FinalObjectiveValue', ascending=is_minimize) print("Number of training jobs with valid objective: %d" % len(df)) print({ "lowest": min(df['FinalObjectiveValue']), "highest": max(df['FinalObjectiveValue']) }) pd.set_option('display.max_colwidth', -1) # Don't truncate TrainingJobName else: print("No training jobs have reported valid results yet.")