code: def repeat(n_times):
      def decorator(f):
          @functools.wraps(f)
          def wrapper(*args, **kwargs):
              results = [f(*args, **kwargs) for _ in range(n_times)]
              statistics = {}
              for key in results[0].keys():
                  values = [r[key] for r in results]
                  statistics[key] = {
                      "mean": np.mean(values),
                      "std": np.std(values),
                  }
              print_statistics(statistics, f.__name__)
              return statistics
  
          return wrapper
  
      return decorator
  
file_path: dgl/examples/pytorch/grace/eval.py
imports: import functools
  import numpy
  from sklearn.linear_model import LogisticRegression
  from sklearn.metrics import f1_score
  from sklearn.model_selection import GridSearchCV, train_test_split
  from sklearn.multiclass import OneVsRestClassifier
  from sklearn.preprocessing import normalize, OneHotEncoder
label_desc: Use image node_id 1 for calling a global function with example usage: repeat(n_times) and returns: decorator, wrapper, statistics