def flatten_dict(dd, separator='_', prefix=''):
res = {}
for key, value in dd.items():
if isinstance(value, dict):
res.update(flatten_dict(value, separator, prefix + key + separator))
else:
res[prefix + key] = value
return res