cdancette / detect-shortcuts

Repo for ICCV 2021 paper: Beyond Question-Based Biases: Assessing Multimodal Shortcut Learning in Visual Question Answering

Home Page:https://cdancette.fr/projects/vqa-ce/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Malloc() issue with vqa.py

AleDella opened this issue · comments

Hi @cdancette,
I am writing because I had a mallo() error while running your script on a VM with Tesla M60 GPU and I am getting this error after the print of the top 20 rules. Have you already had this kind of error? How you solved it? I also checked if the RAM usage reached the limit, but at that point in the code was using only 4MiB of RAM.
Thank you for your help.
Cattura

Hi @AleDella
I never had this issue, I have no idea where this could come from. Do you know exactly in the code where this problem occurs ?

Thank you for your answer!
My hypothesis is that the error occurs during the match_rule call on line 152 of vqa.py because the error occurs just after printing the top 20 rules. In particular I don't know the exact line in the function, for now my hypothesis is that the error is on the transaction_matrix definition or manipulation; right now I'm still trying to check more precisely.

I also had the same error. I use ipdb mode to run the program. When the program runs to the breakpoint, I use the command 'c' to avoid the error. The reason for the error may be the checking of process safety.

def match_rules(
dataset,
rules: List[Rule],
answers=None,
bsize=500,
stop_all_have_rules=False,
stop_all_correct_rules=False,
):
import ipdb
ipdb.set_trace()
max_word_id = max(max(d) for d in dataset)
transactions_matrix = np.zeros((len(dataset), max_word_id + 1), dtype=bool)
for i, d in enumerate(dataset):
transactions_matrix[i, d] = True`