code: def experiments(dataset=None, model=None, method=None, metric=None):
      for experiment in _experiments:
          if dataset is not None and dataset != experiment[0]:
              continue
          if model is not None and model != experiment[1]:
              continue
          if method is not None and method != experiment[2]:
              continue
          if metric is not None and metric != experiment[3]:
              continue
          yield experiment
  
imports: import copy
  import itertools
  import os
  import pickle
  import random
  import subprocess
  import sys
  import time
  from multiprocessing import Pool
  from ..None import __version__, datasets
  from .None import metrics, models
  from threading import Lock, Thread
label_desc: Use image node_id 1 for calling a global function with example usage: experiments(dataset, model, method, metric) without return types