Jack04810's picture
Add files using upload-large-folder tool
36d0b76 verified
Raw
History Blame Contribute Delete
790 Bytes
# --- New: A-OKVQA evaluation function ---
def eval_aokvqa_direct(prediction, ground_truth_list):
"""
Simple VQA accuracy: returns 1 if the prediction is in the direct_answers list, otherwise 0.
Matching is case-insensitive.
"""
if not ground_truth_list: # Handle empty ground truth list
return 0.0
# Clean predicted answer
pred_cleaned = prediction.lower().strip().strip('.').strip()
# Create a cleaned set of ground truth answers
gt_cleaned_set = set(ans.lower().strip().strip('.').strip() for ans in ground_truth_list)
# Check if prediction is in the set
if pred_cleaned in gt_cleaned_set:
return 1.0
# (Optional) You can add more sophisticated VQA matching logic, but simple "in" check is the baseline
return 0.0