60 lines
2.2 KiB
Python
60 lines
2.2 KiB
Python
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)))
|
|
|