def get_accuracy(data_path):
    """
    Load & parse the accuracy data file
      accuracy data format:

           model:hg_s2_mobile_tiny_192_192;dataset:MPI
           Epoch 0:0.03907726641313506
           Epoch 1:0.3704370004326737
           ...

      return:
           label:    training model + dataset, used for
                     plotting curve
           epoch:    list of epoch numbers
           accuracy: list of accuracy for every epoch
    """
    with open(data_path) as f:
        acc_data = f.readlines()
    acc_data = [c.strip() for c in acc_data]

    # parse line 1 to get model & dataset name for curve label
    model = acc_data[0].split(';')[0].split(':')[-1]
    dataset = acc_data[0].split(';')[-1].split(':')[-1]
    label = model + '_' + dataset

    # parse accuracy data
    accuracy = [float(c.split(':')[-1]) for c in acc_data[1:]]
    epoch = [int(c.split(':')[0].split(' ')[-1]) for c in acc_data[1:]]

    return label, epoch, accuracy