code: def build_attention_mask(self):
      # lazily create causal attention mask,
      # with full attention between the vision tokens
      # pytorch uses additive attention mask; fill with -inf
      mask = torch.empty(self.context_length, self.context_length)
      mask.fill_(float("-inf"))
      mask.triu_(1)  # zero out the lower diagonal
      return mask
  
imports: import os
  from collections import OrderedDict
  import torch
  from mmcv.cnn.bricks import DropPath
  from torch import nn
  from transformers import CLIPTokenizer
  from .utils import get_prompt_templates
label_desc: Use image node_id 3 for calling the Transformer obj's underlying member method code with example usage: obj.build_attention_mask() and returns: mask