def set_parameters()

in code/src/data/loader.py [0:0]


def set_parameters(params, dico, attr_values):
    """
    Define parameters, check dictionaries / attributes.
    """
    # dictionary
    bos_index = dico.index(BOS_WORD)
    eos_index = dico.index(EOS_WORD)
    pad_index = dico.index(PAD_WORD)
    unk_index = dico.index(UNK_WORD)
    blank_index = dico.index(SPECIAL_WORD % 0)
    if hasattr(params, 'bos_index'):
        assert params.bos_index == bos_index
        assert params.eos_index == eos_index
        assert params.pad_index == pad_index
        assert params.unk_index == unk_index
        assert params.blank_index == blank_index
    else:
        params.bos_index = bos_index
        params.eos_index = eos_index
        params.pad_index = pad_index
        params.unk_index = unk_index
        params.blank_index = blank_index

    # attributes
    id2label_ = {a: {i: l for i, l in enumerate(attr_values[a])} for a in sorted(attr_values.keys()) if a in params.attributes}
    label2id_ = {a: {l: i for i, l in enumerate(attr_values[a])} for a in sorted(attr_values.keys()) if a in params.attributes}
    assert not hasattr(params, 'id2label') or params.id2label == id2label_
    assert not hasattr(params, 'label2id') or params.label2id == label2id_
    params.id2label = id2label_
    params.label2id = label2id_

    # attribute values
    attr_values_ = {k: v for k, v in attr_values.items() if k in params.attributes}
    assert not hasattr(params, 'attr_values') or params.attr_values == attr_values_
    params.attr_values = attr_values_