Segment-Any-Anomaly / utils /csv_utils.py
cyk
SAA+
32faf2b
import pandas as pd
import os
def write_results(results:dict, cur_class, total_classes, csv_path):
keys = list(results.keys())
if not os.path.exists(csv_path):
df_all = None
for class_name in total_classes:
r = dict()
for k in keys:
r[k] = 0.00
df_temp = pd.DataFrame(r, index=[class_name])
if df_all is None:
df_all = df_temp
else:
df_all = pd.concat([df_all, df_temp], axis=0)
df_all.to_csv(csv_path, header=True, float_format='%.2f')
df = pd.read_csv(csv_path, index_col=0)
for k in keys:
df.loc[cur_class, k] = results[k]
df.to_csv(csv_path, header=True, float_format='%.2f')
def save_metric(metrics, total_classes, class_name, dataset, csv_path):
if dataset != 'mvtec':
for indx in range(len(total_classes)):
total_classes[indx] = f"{dataset}-{total_classes[indx]}"
class_name = f"{dataset}-{class_name}"
write_results(metrics, class_name, total_classes, csv_path)