code: def main():
      mlflow.sklearn.autolog()
  
      iris = datasets.load_iris()
      parameters = {"kernel": ("linear", "rbf"), "C": [1, 10]}
      svc = svm.SVC()
      clf = GridSearchCV(svc, parameters)
  
      clf.fit(iris.data, iris.target)
      run_id = mlflow.last_active_run().info.run_id
  
      # show data logged in the parent run
      print("========== parent run ==========")
      for key, data in fetch_logged_data(run_id).items():
          print(f"\n---------- logged {key} ----------")
          pprint(data)
  
      # show data logged in the child runs
      filter_child_runs = f"tags.mlflow.parentRunId = '{run_id}'"
      runs = mlflow.search_runs(filter_string=filter_child_runs)
      param_cols = [f"params.{p}" for p in parameters.keys()]
      metric_cols = ["metrics.mean_test_score"]
  
      print("\n========== child runs ==========\n")
      pd.set_option(
          "display.max_columns", None
      )  # prevent truncating columns
      print(runs[["run_id", *param_cols, *metric_cols]])
  
imports: from pprint import pprint
  import pandas
  from sklearn import datasets, svm
  from sklearn.model_selection import GridSearchCV
  from utils import fetch_logged_data
  import mlflow
label_desc: Use image node_id 1 for calling a global function with example usage: main() without return types