def _get_synthesizers(synthesizers):
    'Get the dict of synthesizers from the input value.\n\n    If the input is a synthesizer or an iterable of synthesizers, get their names\n    and put them on a dict.\n\n    Args:\n        synthesizers (function, class, list, tuple or dict):\n            A synthesizer (function or method or class) or an iterable of synthesizers\n            or a dict containing synthesizer names as keys and synthesizers as values.\n\n    Returns:\n        dict[str, function]:\n            dict containing synthesizer names as keys and function as values.\n\n    Raises:\n        TypeError:\n            if neither a synthesizer or an iterable or a dict is passed.\n    '
    if callable(synthesizers):
        synthesizers = {_get_synthesizer_name(synthesizers): synthesizers}
    if isinstance(synthesizers, (list, tuple)):
        synthesizers = {_get_synthesizer_name(synthesizer): synthesizer for synthesizer in synthesizers}
    elif (not isinstance(synthesizers, dict)):
        raise TypeError('`synthesizers` can only be a function, a class, a list or a dict')
    for (name, synthesizer) in synthesizers.items():
        if (isinstance(synthesizer, type) and issubclass(synthesizer, BaseSynthesizer)):
            synthesizers[name] = synthesizer().fit_sample
    return synthesizers
Get the dict of synthesizers from the input value.

If the input is a synthesizer or an iterable of synthesizers, get their names
and put them on a dict.

Args:
    synthesizers (function, class, list, tuple or dict):
        A synthesizer (function or method or class) or an iterable of synthesizers
        or a dict containing synthesizer names as keys and synthesizers as values.

Returns:
    dict[str, function]:
        dict containing synthesizer names as keys and function as values.

Raises:
    TypeError:
        if neither a synthesizer or an iterable or a dict is passed.
def _get_synthesizers(synthesizers):
    'Get the dict of synthesizers from the input value.\n\n    If the input is a synthesizer or an iterable of synthesizers, get their names\n    and put them on a dict.\n\n    Args:\n        synthesizers (function, class, list, tuple or dict):\n            A synthesizer (function or method or class) or an iterable of synthesizers\n            or a dict containing synthesizer names as keys and synthesizers as values.\n\n    Returns:\n        dict[str, function]:\n            dict containing synthesizer names as keys and function as values.\n\n    Raises:\n        TypeError:\n            if neither a synthesizer or an iterable or a dict is passed.\n    '
    if callable(synthesizers):
        synthesizers = {_get_synthesizer_name(synthesizers): synthesizers}
    if isinstance(synthesizers, (list, tuple)):
        synthesizers = {_get_synthesizer_name(synthesizer): synthesizer for synthesizer in synthesizers}
    elif (not isinstance(synthesizers, dict)):
        raise TypeError('`synthesizers` can only be a function, a class, a list or a dict')
    for (name, synthesizer) in synthesizers.items():
        if (isinstance(synthesizer, type) and issubclass(synthesizer, BaseSynthesizer)):
            synthesizers[name] = synthesizer().fit_sample
    return synthesizers