import numpy as np


# ResNet-18, 5 classes, 100 linear probing epochs, classical, 8 width, variable epoch size
def results():
    accs = np.array([
        [(37.94, 9), (40.4, 19), (45.72, 49), (48.2, 99), (53.68, 199), (56.1, 299)],
        [(43.32, 9), (47.64, 19), (48.98, 49), (51.96, 99), (53.82, 199), (54.48, 299)],
        [(43.04, 9), (48.34, 19), (51.9, 49), (56.1, 99), (60.3, 199), (62.62, 299)],
        [(44.86, 9), (47.86, 19), (53.4, 49), (56.58, 99), (57.3, 199), (59.7, 299)],
        [(52.56, 9), (55.16, 19), (60.88, 49), (62.08, 99), (63.56, 199), (64.02, 299)]])

    epoch_size = np.array([2500, 5000, 17500, 10000, 25000])

    order = epoch_size.argsort()
    epoch_size.sort()
    sorted_accs = accs[order]

    return epoch_size, sorted_accs


def results_low_tepochs():
    accs = np.array([
        [(39.74, 2), (45.32, 5), (44.8, 8), (44.18, 11), (45.76, 14), (45.98, 17), (48.24, 20), (47.16, 23), (48.9, 26),
         (50.68, 29)],
        [(35.26, 2), (36.7, 5), (36.92, 8), (38.68, 11), (38.32, 14), (39.0, 17), (38.54, 20), (38.62, 23), (39.24, 26),
         (40.9, 29)],
        [(36.34, 2), (38.56, 5), (42.76, 8), (45.9, 11), (45.84, 14), (46.7, 17), (46.68, 20), (46.34, 23), (45.92, 26),
         (45.58, 29)],
        [(41.82, 2), (44.2, 5), (45.08, 8), (47.5, 11), (47.52, 14), (48.3, 17), (48.8, 20), (47.76, 23), (48.8, 26),
         (48.84, 29)],
        [(48.94, 2), (51.56, 5), (52.02, 8), (51.78, 11), (53.5, 14), (53.0, 17), (53.94, 20), (55.38, 23), (55.88, 26),
         (57.44, 29)]])

    epoch_size = np.array([10000, 2500, 5000, 17500, 25000])

    order = epoch_size.argsort()
    epoch_size.sort()
    sorted_accs = accs[order]

    return epoch_size, sorted_accs
