code: def dict_value_combinations_gen(values, keys):
      """Returns a generation of permutations of the specified
      values dictionary
  
      Arguments
      ---------
      values: dict
          A dictionary with lists of values as values
          Example:
          {
              "digit": [1,2,3],
              "speaker": [10, 20]
          }
  
      keys: list
          the keys to consider
  
      Returns
      -------
      result: generator
          a generator of dictionaries in which each dictionary
          is a possible permitations
      """
      if not keys:
          return
      key, *rest = keys
      key_values = values[key]
      for value in key_values:
          curr = {key: value}
          for sub in dict_value_combinations_gen(values, rest):
              item = dict(curr)
              item.update(sub)
              yield item
          else:
              yield curr
  
imports: import math
  import os
  import re
  import csv
  import shutil
  import urllib.request
  import collections.abc
  import torch
  import tqdm
  import pathlib
  import speechbrain
  from numbers import Number
label_desc: Use image node_id 35 for calling a global function with example usage: dict_value_combinations_gen(values, keys) without return types