code: def __init__(
      self,
      model_name="mnli",
      granularity="paragraph",
      use_cache=True,
      max_doc_sents=100,
      device="cuda",
      **kwargs,
  ):
      self.grans = granularity.split("-")
  
      assert (
          all(
              gran
              in [
                  "paragraph",
                  "sentence",
                  "document",
                  "2sents",
                  "mixed",
              ]
              for gran in self.grans
          )
          and len(self.grans) <= 2
      ), "Unrecognized `granularity` %s" % (granularity)
      assert (
          model_name in model_map.keys()
      ), "Unrecognized model name: `%s`" % (model_name)
  
      self.model_name = model_name
      if model_name != "decomp":
          self.model_card = name_to_card(model_name)
          self.entailment_idx = model_map[model_name]["entailment_idx"]
          self.contradiction_idx = model_map[model_name][
              "contradiction_idx"
          ]
          self.neutral_idx = get_neutral_idx(
              self.entailment_idx, self.contradiction_idx
          )
  
      self.granularity = granularity
      self.use_cache = use_cache
      self.cache_folder = "/export/share/plaban/summac_cache/"
  
      self.max_doc_sents = max_doc_sents
      self.max_input_length = 500
      self.device = device
      self.cache = {}
      self.model = None
  
imports: from transformers import AutoTokenizer, AutoModelForSequenceClassification
  import nltk
  import numpy
  import torch
  import os
  import json
  from .None import utils_misc
label_desc: Use image node_id 1 to create a new SummaCImager object  with example: obj = SummaCImager(model_name, granularity, use_cache, max_doc_sents, device)