import os import csv import numpy as np if __name__ == '__main__': garment_type_table = np.load('custom_data/garment_type_table_test.npy', allow_pickle=True).item() folder = '/home/workspace/data/results/errors' checkpoint_name = 'abl_all' iteration = '70000' errors = dict() errors_skirt = dict() per_garment_errors = { 'Tshirt': [], 'Dress': [], 'Skirt': [], 'Top': [] } per_garment_errors_skirt = { 'Tshirt': [], 'Jumpsuit': [], 'Trousers': [], 'Top': [] } with open(os.path.join(folder, checkpoint_name + '-' + iteration + '.csv'), 'r') as f: csv_reader = csv.reader(f, delimiter=',') for row in csv_reader: per_garment_errors[garment_type_table[row[0].split('_')[0]]].append(row[1]) with open(os.path.join(folder, checkpoint_name + '_skirt' + '-' + iteration + '.csv'), 'r') as f: csv_reader = csv.reader(os.path.join(folder, checkpoint_name + '_skirt' + '-' + iteration + '.csv'), delimiter=',') for row in csv_reader: per_garment_errors_skirt[garment_type_table[row[0]]].append(row[1]) print('Non-skirt:') for key in per_garment_errors.keys(): avg = np.mean(per_garment_errors[key]) errors.append(avg) print(key + ': ' + str(avg)) print('Skirt:') for key in per_garment_errors_skirt.keys(): avg = np.mean(per_garment_errors_skirt[key]) errors_skirt.append(avg) print(key + ': ' + str(avg)) print('Avg non-skirt: ' + str(np.mean(errors))) print('Avg skirt: ' + str(np.mean(errors_skirt))) cum_avg_shirt = np.mean(per_garment_errors['Tshirt'] + per_garment_errors_skirt['Tshirt']) cum_avg_top = np.mean(per_garment_errors['Top'] + per_garment_errors_skirt['Top']) print('Global tshirt avg: ' + str(cum_avg_shirt)) print('Global tshirt avg: ' + str(cum_avg_top)) print('Globl per garment: ') global_errors = [] per_garment_errors['Tshirt'].extend(per_garment_errors_skirt['Tshirt']) per_garment_errors['Top'].extend(per_garment_errors_skirt['Top']) for key in per_garment_errors.keys(): avg = np.mean(per_garment_errors[key]) global_errors.append(avg) print(key + ': ' + str(avg)) print('Global avg: ' + str(np.mean(global_errors)))