def validate_bool_var(bool_var, scores, options, baseline):
    temp = config[bool_var]
    config[bool_var] = not temp
    score = run(config)
    config[bool_var] = temp
    diff = (baseline - score) if temp else (score - baseline)
    scores.append(diff)
    options.append(bool_var)
    visualize(scores, options)
def validate_bool_var(bool_var, scores, options, baseline):
    temp = config[bool_var]
    config[bool_var] = not temp
    score = run(config)
    config[bool_var] = temp
    diff = (baseline - score) if temp else (score - baseline)
    scores.append(diff)
    options.append(bool_var)
    visualize(scores, options)
    plt.title('validation on the size of the word2vec dimensionality')
    plt.ylabel('accuracy')
    plt.xlabel('vector size')
    plt.grid(True)
    plt.savefig(base_folder + 'word2vec_dimensions_validation.pdf')

if __name__ == '__main__':
    config = load_config()
    base_folder = config['base_folder']

    if not os.path.exists(base_folder):
        os.makedirs(base_folder)
    
    json.dump(config, open(base_folder + 'configuration.json','w'), indent=4, sort_keys=True)    
    
    scores = []
    params = []
    for i in range(1, 250, 10):
        print("Validate parameter " + str(i))
        config['lstm-layers'][0]['output-size'] = i
        score = run(config)
        scores.append(score)
        params.append(i)
        plot_scores(params, scores)
    
    print(params)    
    print(scores)
    
    plot_scores(params, scores)
  
    plt.close()


if __name__ == "__main__":
    config = load_config()
    base_folder = config["base_folder"]

    if not os.path.exists(base_folder):
        os.makedirs(base_folder)

    json.dump(config, open(base_folder + "configuration.json", "w"), indent=4, sort_keys=True)

    scores = []
    options = []

    baseline = run(config)

    #     inits = ['zero', 'glorot_uniform', 'glorot_normal', 'he_normal', 'he_uniform', 'uniform', 'lecun_uniform', 'normal', ]
    #     init_inner = ['identity', 'orthogonal']
    #     activations = ['linear', 'tanh', 'sigmoid', 'hard_sigmoid', 'relu', 'softplus']
    #
    #     for activation in activations:
    #         config['lstm-activation'] = activation
    #         score = run(config)
    #         scores.append(score - baseline)
    #         options.append('lstm-activation-' + activation)
    #         visualize(scores, options)

    for bool_var in [
        "tokenizer-german-split-compound-words",
        "use-textblob-de",
    plt.grid(True)
    plt.savefig(base_folder + 'word2vec_dimensions_validation.pdf')


if __name__ == '__main__':
    config = load_config()
    base_folder = config['base_folder']

    if not os.path.exists(base_folder):
        os.makedirs(base_folder)

    json.dump(config,
              open(base_folder + 'configuration.json', 'w'),
              indent=4,
              sort_keys=True)

    scores = []
    params = []
    for i in range(1, 250, 10):
        print("Validate parameter " + str(i))
        config['lstm-layers'][0]['output-size'] = i
        score = run(config)
        scores.append(score)
        params.append(i)
        plot_scores(params, scores)

    print(params)
    print(scores)

    plot_scores(params, scores)
if __name__ == '__main__':
    config = load_config()
    base_folder = config['base_folder']

    if not os.path.exists(base_folder):
        os.makedirs(base_folder)

    json.dump(config,
              open(base_folder + 'configuration.json', 'w'),
              indent=4,
              sort_keys=True)

    scores = []
    options = []

    baseline = run(config)

    #     inits = ['zero', 'glorot_uniform', 'glorot_normal', 'he_normal', 'he_uniform', 'uniform', 'lecun_uniform', 'normal', ]
    #     init_inner = ['identity', 'orthogonal']
    #     activations = ['linear', 'tanh', 'sigmoid', 'hard_sigmoid', 'relu', 'softplus']
    #
    #     for activation in activations:
    #         config['lstm-activation'] = activation
    #         score = run(config)
    #         scores.append(score - baseline)
    #         options.append('lstm-activation-' + activation)
    #         visualize(scores, options)

    for bool_var in [
            'tokenizer-german-split-compound-words', 'use-textblob-de',
            "only-fr-descriptions", "only-it-descriptions",