class_docstr: This masks out tokens according to the given tokenizer.
  
  The masked variables are
  
  output_type : "string" (default) or "token_ids"
docstr: The names of the features for each mask position for the given input string.
          
code: def invariants(self, s):
      """The names of the features for each mask position for the given input string."""
      self._update_s_cache(s)
  
      invariants = np.zeros(len(self._tokenized_s), dtype=bool)
      if self.keep_prefix > 0:
          invariants[: self.keep_prefix] = True
      if self.keep_suffix > 0:
          invariants[-self.keep_suffix :] = True
      # mark separator tokens as invariant
      for i, v in enumerate(self._tokenized_s):
          if v == getattr_silent(self.tokenizer, "sep_token_id"):
              invariants[i] = True
      return invariants.reshape(1, -1)
  
imports: import math
  import re
  import numpy
  from .._serializable import Deserializer, Serializer
  from ..utils import safe_isinstance
  from ..utils.transformers import SENTENCEPIECE_TOKENIZERS, getattr_silent, parse_prefix_suffix_for_tokenizer
  from ._masker import Masker
label_desc: Use image node_id 9 for calling the Text obj's underlying member method code with example usage: obj.invariants(s) and returns: invariants