code: def __init__(
      self,
      models=["mnli", "anli", "vitc"],
      bins="even50",
      granularity="sentence",
      nli_labels="e",
      device="cuda",
      start_file=None,
      imager_load_cache=True,
      agg="mean",
      norm_histo=False,
      **kwargs,
  ):
      # `bins` should be `even%d` or `percentiles`
      assert nli_labels in [
          "e",
          "c",
          "n",
          "ec",
          "en",
          "cn",
          "ecn",
      ], "Unrecognized nli_labels argument %s" % (nli_labels)
  
      super(SummaCConv, self).__init__()
      self.device = device
      self.models = models
  
      self.imagers = []
      for model_name in models:
          self.imagers.append(
              SummaCImager(
                  model_name=model_name,
                  granularity=granularity,
                  **kwargs,
              )
          )
      if imager_load_cache:
          for imager in self.imagers:
              imager.load_cache()
      assert (
          len(self.imagers) > 0
      ), "Imager names were empty or unrecognized"
  
      if "even" in bins:
          n_bins = int(bins.replace("even", ""))
          self.bins = list(np.arange(0, 1, 1 / n_bins)) + [1.0]
      elif bins == "percentile":
          self.bins = [
              0.0,
              0.01,
              0.02,
              0.03,
              0.04,
              0.07,
              0.13,
              0.37,
              0.90,
              0.91,
              0.92,
              0.93,
              0.94,
              0.95,
              0.955,
              0.96,
              0.965,
              0.97,
              0.975,
              0.98,
              0.985,
              0.99,
              0.995,
              1.0,
          ]
  
      self.nli_labels = nli_labels
      self.n_bins = len(self.bins) - 1
      self.norm_histo = norm_histo
      self.n_rows = 10
      self.n_labels = 2
      self.n_depth = len(self.imagers) * len(self.nli_labels)
      self.full_size = self.n_depth * self.n_bins
      if self.norm_histo:
          self.full_size += 2  # Will explicitely give the count of originals and generateds
  
      self.agg = agg
  
      self.mlp = torch.nn.Linear(self.full_size, 1).to(device)
      self.layer_final = torch.nn.Linear(3, self.n_labels).to(device)
  
      if start_file is not None:
          print(self.load_state_dict(torch.load(start_file)))
  
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 SummaCConv object from inherited base classes: torch.nn with example: obj = SummaCConv(models, bins, granularity, nli_labels, device, start_file, imager_load_cache, agg, norm_histo)