class_docstr: ALBEF VQA models.
  
  Supported model types:
      - base: vqa model initialized with pre-trained ALBEF base model on 115M image-text pairs after CapFilt; not fine-tuned.
      - vqav2: fine-tuned ALBEF base model on VQA v2.0 dataset.
  
  Usage:
      >>> from lavis.models import load_model
      >>> model = load_model("albef_vqa", "vqav2")
code: def _rampup_factor(self, epoch, iters, num_iters_per_epoch):
      return min(
          1, (epoch * num_iters_per_epoch + iters) / num_iters_per_epoch
      )
  
imports: import logging
  import os
  from copy import deepcopy
  import torch
  import torch.nn.functional
  from lavis.common.registry import registry
  from lavis.common.utils import get_abs_path, is_url
  from lavis.models.albef_models import AlbefBase
  from lavis.models.albef_models.albef_outputs import AlbefIntermediateOutput, AlbefOutput
  from lavis.models.base_model import MomentumDistilationMixin, tile
  from lavis.models.med import BertConfig, BertLMHeadModel, XBertEncoder
  from lavis.models.vit import VisionTransformerEncoder, interpolate_pos_embed
  from lavis.common.dist_utils import download_cached_file
label_desc: Use image node_id 2 for calling the AlbefVQA obj's underlying member method code with example usage: obj._rampup_factor(epoch, iters, num_iters_per_epoch) and returns: min