class_docstr: Loader that loads the captions of an image
class_docstr_tok: ["Loader","that","loads","the","captions","of","an","image"]
code: def set_context(self):
      if get_device() == "cuda" and self.caption_gpu:
          import torch
  
          n_gpus = (
              torch.cuda.device_count()
              if torch.cuda.is_available()
              else 0
          )
          if n_gpus > 0:
              self.context_class = torch.device
              self.device = "cuda"
          else:
              self.device = "cpu"
      else:
          self.device = "cpu"
      if self.caption_gpu:
          if self.gpu_id == "auto":
              # blip2 has issues with multi-GPU.  Error says need to somehow set language model in device map
              # device_map = 'auto'
              self.device_map = {"": 0}
          else:
              if self.device == "cuda":
                  self.device_map = {"": "cuda:%d" % self.gpu_id}
              else:
                  self.device_map = {"": "cpu"}
      else:
          self.device_map = {"": "cpu"}
  
file_path: h2ogpt/src/image_captions.py
imports: from typing import List, Union, Any, Tuple
  import requests
  from langchain.docstore.document import Document
  from langchain.document_loaders import ImageCaptionLoader
  from utils import get_device, NullContext, clear_torch_cache
  from importlib.metadata import distribution, PackageNotFoundError
label_desc: Use image node_id 2 for calling the H2OImageCaptionLoader obj's underlying member method code with example usage: obj.set_context() without return types