code: def remap_target(self, target):
      new_target = [target.clone()]
      for i in range(len(self.cutoffs) - 1):
          mask = target.ge(self.cutoffs[i]).mul(
              target.lt(self.cutoffs[i + 1])
          )
  
          if mask.sum() > 0:
              new_target[0][mask] = self.cutoffs[0] + i
              new_target.append(target[mask].add(-self.cutoffs[i]))
          else:
              new_target.append(None)
      return new_target
  
file_path: TextAttack/textattack/constraints/grammaticality/language_models/learning_to_write/adaptive_softmax.py
imports: import torch
  from torch import nn
  from torch.autograd import Variable
  from torch.nn.functional import log_softmax
  import textattack
label_desc: Use image node_id 3 for calling the AdaptiveLoss obj's underlying member method code with example usage: obj.remap_target(target) and returns: new_target