code: def inject_train(
      self, input_image: torch.Tensor, labels: torch.Tensor
  ):
      # inject label in the input image
      bs = input_image.shape[0]
      injecting_labels = torch.stack(
          [self.labels[label] for label in labels]
      )
      negative_injecting_labels = torch.stack(
          [
              self.labels[label]
              for label in select_random_different_label(
                  labels, len(self.labels)
              )
          ]
      )
      positive_images = torch.cat(
          [input_image.reshape(bs, -1), injecting_labels], dim=1
      )
      negative_images = torch.cat(
          [input_image.reshape(bs, -1), negative_injecting_labels],
          dim=1,
      )
      images = torch.cat([positive_images, negative_images], dim=0)
      signs = torch.cat([torch.ones(bs), -torch.ones(bs)], dim=0)
      return images, signs
  
imports: from typing import List
  import torch
label_desc: Use image node_id 2 for calling the LabelsInjector obj's underlying member method code with example usage: obj.inject_train(input_image, labels) and returns: images,  signs