AUGR-VQA: Adaptive Uncertainty-Guided Regional Reasoning for Reliable Brain Tumor MRI Visual Question Answering
This repository contains the official pre-trained weights for the final proposed model (QAdp-DG-PRUGTM) from our research on Medical Visual Question Answering, specifically targeting brain tumor MRI scans on the BTUMQA-225K dataset.
(Note: In the training code and artifact filenames, this model is occasionally referred to by its development name adaptive_prugtm_qgca or QAdpPRUGTMHybrid, but it is formally named QAdp-DG-PRUGTM in the paper).
These weights have been provided to ensure full reproducibility and transparency for peer review (IEEE OJCS).
π Official Codebase & Datasets
- Codebase: The full source code for training, inference, and evaluation is available on our official GitHub repository: https://github.com/shuvomonowar00/AUGR-VQA
- Text Dataset (BTUMQA-225K): The question-answer annotations and metadata used to train this model are available at: https://huggingface.co/datasets/shuvomonowar00/BTUMQA
- Image Dataset (BraTS 2021 2D): The corresponding MRI scan images required for the visual input can be downloaded from Kaggle: https://www.kaggle.com/datasets/snish9/rsnabrats20212d
π Repository Structure & Reproducibility
To prove robustness and avoid selection bias, the model was trained independently across four random seeds (42, 1337, 2025, 3407).
Inside each seed_*/ directory, you will find:
checkpoints/best_adaptive_prugtm_qgca_model.pt: The PyTorch state dictionary containing the optimal learned weights for that specific seed.predictions/andreports/: The raw, unedited.csvand.jsonfiles containing the exact model predictions and evaluation metrics on the validation and test sets. We have included these for absolute transparency, allowing reviewers to immediately verify our reported Accuracy and F1 scores without needing to set up a PyTorch environment.phase4_qa_prugtm_hybrid_config.json: The hyperparameter configuration used for that seed's training run.
π» How to Use the Model (Inference)
If you wish to run inference and reproduce the results programmatically, you can download the weights using the huggingface_hub Python library and load them into the custom PyTorch architecture provided in our GitHub repository.
Prerequisites:
pip install huggingface_hub torch
Loading the Weights (Example using Seed 42):
import torch
from huggingface_hub import hf_hub_download
# 1. Automatically download the best weights for Seed 42
checkpoint_path = hf_hub_download(
repo_id="shuvomonowar00/AUGR-VQA",
filename="seed_42/checkpoints/best_adaptive_prugtm_qgca_model.pt"
)
# 2. Download the configuration file
config_path = hf_hub_download(
repo_id="shuvomonowar00/AUGR-VQA",
filename="seed_42/phase4_qa_prugtm_hybrid_config.json"
)
# 3. Instantiate your model architecture (from the GitHub codebase)
# from models.proposed_model import QAdpPRUGTMHybrid
# model = QAdpPRUGTMHybrid(config_path=config_path)
# 4. Load the weights into the model
# model.load_state_dict(torch.load(checkpoint_path, map_location="cpu"))
# model.eval()
π Evaluation & Metrics
For the final paper results, we evaluate all four seeds and report the aggregate mean and standard deviation. For rapid inference testing, utilizing a single seed (e.g., seed_42) is highly representative of the model's overall performance.