class_docstr: Iterator over a grid of parameter values, skipping any restricted combinations of values.
class_docstr_tok: ["Iterator","over","a","grid","of","parameter","values",",","skipping","any","restricted","combinations","of","values","."]
code: def __iter__(self):
      for val_tuples in itertools.product(
          *(
              itertools.product([k], v)
              for k, v in self.param_values.items()
          )
      ):
          val_dict = OrderedDict(val_tuples)
          if not any(
              all(
                  k in val_dict and val_dict[k] == v
                  for k, v in r.items()
              )
              for r in self.restrictions
          ):
              yield val_dict
  
imports: from collections import OrderedDict
  import itertools
  from typing import Any, Dict, List
label_desc: Use image node_id 2 for calling the GridSearch obj's underlying member method code with example usage: obj.__iter__() without return types