tahamajs/RR / audit_categorized.py
tahamajs's picture
download
raw
2.36 kB
import pandas as pd
import os
models = {
'DistilBERT': 'D:/SVD_Project/results/distilbert_sst2_comprehensive_sweep/summary.csv',
'RoBERTa': 'D:/SVD_Project/results/roberta_sst2_comprehensive_sweep/summary.csv',
'GPT-2': 'D:/SVD_Project/results/gpt2_sst2_comprehensive_sweep/summary.csv',
'Qwen3.5': 'D:/SVD_Project/results/qwen3_5_sst2_comprehensive_sweep/summary.csv',
}
categories = {
"Tuple injection collateral": ["'tuple' object has no attribute", "tuple indices must be integers", "must be Tensor, not tuple"],
"GQA projection mismatch": ["all_head_size", "kv_head", "GQA", "q_proj_out"],
"Device/dtype mismatch": ["Expected all tensors to be on the same device", "dtypes match"],
"Timeout": ["timeout", "exceeded hard"],
"Frozen recovery params / Plateau": ["plateau", "incompatible", "roberta_bidirectional_self_attention_incompatible", "gpt2_causal_geometry_plateau"],
"CUDA OOM": ["out of memory", "CUDA OOM"],
"Other": []
}
for name, path in models.items():
if not os.path.exists(path):
print(f"=== {name}: CSV NOT FOUND ===")
continue
df = pd.read_csv(path)
total = len(df)
pass_cnt = len(df[df['status'] == 'PASS'])
non_pass = df[df['status'] != 'PASS']
print(f"\n=======================================================")
print(f"=== {name}: {pass_cnt}/{total} PASS ({len(non_pass)} non-PASS) ===")
print(f"=======================================================")
print("Status breakdown:")
for st, cnt in non_pass['status'].value_counts().items():
print(f" {st}: {cnt}")
print("\nRoot cause categorization:")
cat_counts = {c: [] for c in categories}
for _, row in non_pass.iterrows():
err = str(row.get('error', '')) + " " + str(row.get('status', ''))
matched = False
for cat, patterns in categories.items():
if cat == "Other":
continue
if any(p.lower() in err.lower() for p in patterns):
cat_counts[cat].append(row['module_name'])
matched = True
break
if not matched:
cat_counts["Other"].append(row['module_name'])
for cat, mods in cat_counts.items():
if mods:
print(f" [{cat}] ({len(mods)} modules):")
print(f" {' '.join(mods)}")

Xet Storage Details

Size:
2.36 kB
·
Xet hash:
da83976b3621d71af795a4b1940c65999b9516f1963aa4fafffa0590ae6c315a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.