docstr: Turns a list of parameters with values into a flat tuple list of lists
  so we can permute
  :param params:
  :return:
docstr_tok: ["Turns","a","list","of","parameters","with","values","into","a","flat","tuple","list","of","lists","so","we","can","permute",":","param","params",":",":","return",":"]
code: def __flatten_params(self, params):
      """
      Turns a list of parameters with values into a flat tuple list of lists
      so we can permute
      :param params:
      :return:
      """
      flat_params = []
      for i, param in enumerate(params):
          param_groups = []
          for val in param["vals"]:
              param_groups.append({"idx": i, "val": val})
          flat_params.append(param_groups)
      return flat_params
  
file_path: test-tube/test_tube/hyperopt.py
imports: import itertools
  import json
  import random
label_desc: Use image node_id 10 for calling the HyperParamOptimizer obj's underlying member method code with example usage: obj.__flatten_params(params) and returns: flat_params