class_docstr: [`TFLogitsProcessor`] enforcing an exponential penalty on repeated sequences.
  
  Args:
      repetition_penalty (`float`):
          The parameter for repetition penalty. 1.0 means no penalty. See [this
          paper](https://arxiv.org/pdf/1909.05858.pdf) for more details.
class_docstr_tok: ["[","`","TFLogitsProcessor","`","]","enforcing","an","exponential","penalty","on","repeated","sequences",".","Args",":","repetition_penalty","(","`","float","`",")",":","The","parameter","for","repetition","penalty",".","1.0","means","no","penalty",".","See","[","this","paper","]","(","https",":","\/\/arxiv.org\/pdf\/1909.05858.pdf",")","for","more","details","."]
code: def __call__(
      self, input_ids: tf.Tensor, scores: tf.Tensor, cur_len: int
  ) -> tf.Tensor:
      score_penalties = self._create_score_penalties(
          input_ids[:, :cur_len], scores
      )
  
      scores = tf.math.multiply(scores, score_penalties)
  
      return scores
  
imports: import inspect
  from typing import List, Tuple
  import numpy
  import tensorflow
  from ..tf_utils import stable_softmax
  from ..utils import add_start_docstrings
  from ..utils.logging import get_logger
label_desc: Use image node_id 3 for calling the TFRepetitionPenaltyLogitsProcessor obj's underlying member method code with example usage: obj.__call__(input_ids, scores, cur_len) and returns: scores