List all possible permutations from a python dictionary of lists
The tool you need here is itertools.product:

&gt;&gt;&gt; import itertools
&gt;&gt;&gt; keys, values = zip(*config_overrides.items())
&gt;&gt;&gt; experiments = [dict(zip(keys, v)) for v in itertools.product(*values)]
&gt;&gt;&gt; len(experiments)
3234
&gt;&gt;&gt; experiments[1034]
{'nhidden': 4, 'nodetype': 'lstm', 'loss': 'msle', 'opt': 'nadam', 'actfunc': 'sigmoid'}


Of course, if you are going to be iterating over the experiments one by one, then there is no point in allocating a list, and you could do this instead:

keys, values = zip(*config_overrides.items())
for v in itertools.product(*values):
    experiment = dict(zip(keys, v))
    # etc.


And depending on what you are doing with the experiments, you may not even need to build the dictionary:

keys, values = zip(*config_overrides.items())
for experiment in itertools.product(*values):
    for key, value in zip(keys, experiment):
        # etc.