def run_all_experiments()

in experiments/mnist_lossy.py [0:0]


def run_all_experiments(seed):
    '''Runs experiments in parallel. This function is used by plots.py'''

    # Run experiments in parallel
    metrics = Parallel(n_jobs=os.cpu_count()-1)(
            delayed(cache(run_single_experiment))(seq_length, seed)
            for seq_length in [1, 5, 15, 20, 50, 100, 1000, 5000, 10000])

    # Save results (run plot.py to see plotted results)
    df = pd.DataFrame(metrics).set_index('seq_length')
    df['pct_saved_bits'] = \
        100*(1 - df.compressed_length_multiset/df.compressed_length_sequence)
    df['pct_saved_bits_limit'] = \
            100*df.saved_bits_limit/df.compressed_length_sequence

    return df