code: def test_caption_large(self):
      # loads BLIP caption base model, with finetuned checkpoints on MSCOCO captioning dataset.
      # this also loads the associated image processors
      model, vis_processors, _ = load_model_and_preprocess(
          name="blip_caption",
          model_type="large_coco",
          is_eval=True,
          device=device,
      )
  
      # preprocess the image
      # vis_processors stores image transforms for "train" and "eval" (validation / testing / inference)
      image = vis_processors["eval"](raw_image).unsqueeze(0).to(device)
  
      # generate caption
      caption = model.generate({"image": image})
  
      assert caption == [
          "a large statue of a person spraying water from a fountain"
      ]
  
      # generate multiple captions
      captions = model.generate({"image": image}, num_captions=3)
  
      assert len(captions) == 3
  
file_path: lavis/tests/models/test_blip.py
imports: import pytest
  import torch
  from lavis.models import load_model, load_model_and_preprocess
  from PIL import Image
label_desc: Use image node_id 2 for calling the TestBlip obj's underlying member method code with example usage: obj.test_caption_large() without return types