code: def __init__(
      self,
      tokenizer="openai/clip-vit-base-patch32",
      dim_lang=512,
      dim_projection=512,
  ):
      super().__init__()
  
      os.environ["TOKENIZERS_PARALLELISM"] = "true"
      self.tokenizer = CLIPTokenizer.from_pretrained(tokenizer)
      self.tokenizer.add_special_tokens(
          {"cls_token": self.tokenizer.eos_token}
      )
  
      max_token_num = self.tokenizer.model_max_length
      self.lang_encoder = Transformer(
          max_token_num, self.tokenizer.vocab_size, dim_lang
      )
  
      self.lang_proj = nn.Parameter(
          torch.empty(dim_lang, dim_projection)
      )
      self.max_token_num = max_token_num
      self.logit_scale = nn.Parameter(torch.ones([]))
  
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 1 to create a new LanguageEncoder object from inherited base classes: nn with example: obj = LanguageEncoder(tokenizer, dim_lang, dim_projection)