def check_all_data_params()

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


def check_all_data_params(params):
    """
    Check datasets parameters.
    """
    # check attributes
    assert sorted(params.attributes) == params.attributes

    # check monolingual datasets
    assert params.n_mono != 0
    params.mono_dataset = params.mono_dataset.split(',')
    assert len(params.mono_dataset) == 3
    assert all(os.path.isfile(path) for path in params.mono_dataset)

    # check parallel evaluation data
    if not params.eval_para == '':
        params.eval_para = [x.split(':') for x in params.eval_para.split(';')]
        assert all(len(x) == 3 for x in params.eval_para)
        assert len(params.eval_para) == len(set([x for x, _, _ in params.eval_para]))
        params.eval_para = {name: (src, refs.split(',')) for name, src, refs in params.eval_para}
        assert all(os.path.isfile(src) for src, _ in params.eval_para.values())
        assert all(all(os.path.isfile(ref) for ref in refs) for _, refs in params.eval_para.values())

    # check training / lambda parameters
    assert params.train_ae or params.train_bt
    assert not (params.lambda_ae == '0') ^ (params.train_ae is False)
    assert not (params.lambda_bt == '0') ^ (params.train_bt is False)

    # check coefficients  # TODOO: update this
    # assert not (params.lambda_dis == "0") ^ (params.n_dis == 0)

    # max length / max vocab / sentence noise
    assert params.max_len > 0
    assert params.max_vocab == -1 or params.max_vocab > 0
    assert params.word_shuffle == 0 or params.word_shuffle > 1
    assert 0 <= params.word_dropout < 1
    assert 0 <= params.word_blank < 1