<jupyter_start><jupyter_text>Plot all training and evaluation curves<jupyter_code>plt.rcParams.update({'font.size': 16})

fig, axes = plt.subplots(3, 2, figsize=(12,10))

# val_acc and val_acc_noise denote results on the validation set (clean and noisy images) of CIFAR-10
# test_acc and test_acc_noise denote results on the test set (clean and noisy images) of CIFAR-10

for ind, attr in enumerate(['training_loss', 'training_acc', 
                            'val_acc', 'test_acc',
                            'val_acc_noise', 'test_acc_noise']):
    
    ax = axes[ind // 2][ind % 2]
    c = 0
    for split, values in results.items():
        for seed in values:
            if attr.startswith('training'):
                x = np.arange(len(values[seed][attr])) + 1
            else:
                x = [1, 5, 10, 20, 30, 40, 50]
            ax.plot(x, values[seed][attr], alpha=0.5)
            c += 1
    if attr == 'training_loss':
        ax.set_yscale('log')
    else:
        ax.set_ylim([5, 105])
    ax.set_xlabel('Epoch')
    ax.set_ylabel(attr)
    ax.grid(lw=0.5)
    ax.set_title('%s for %d models' % (attr, c))
plt.tight_layout(pad=2)
plt.show()<jupyter_output><empty_output><jupyter_text>Print all results for arch=0 from the predefined split<jupyter_code>results['predefined']['0']<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13663663663663664, 'fraction_numerical': 0.03003003003003003, 'mean_word_length': 2.7869318181818183, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '382097', 'license': 'MIT', 'n_tokens_mistral': 504, 'n_tokens_neox': 459, 'n_words': 112, 'path': 'examples/read_cifar10_results.ipynb', 'repo_name': 'sergiobat/ppuda', 'size': '1332'}