class_docstr: Calculate `BLEU score`_ of machine translated text with one or more references.
  
  As input to ``forward`` and ``update`` the metric accepts the following input:
  
  - ``preds`` (:class:`~Sequence`): An iterable of machine translated corpus
  - ``target`` (:class:`~Sequence`): An iterable of iterables of reference corpus
  
  As output of ``forward`` and ``update`` the metric returns the following output:
  
  - ``bleu`` (:class:`~torch.Tensor`): A tensor with the BLEU Score
  
  Args:
      n_gram: Gram value ranged from 1 to 4
      smooth: Whether or not to apply smoothing, see `Machine Translation Evolution`_
      kwargs: Additional keyword arguments, see :ref:`Metric kwargs` for more info.
      weights:
          Weights used for unigrams, bigrams, etc. to calculate BLEU score.
          If not provided, uniform weights are used.
  
  Raises:
      ValueError: If a length of a list of weights is not ``None`` and not equal to ``n_gram``.
  
  Example:
      >>> from torchmetrics.text import BLEUScore
      >>> preds = ['the cat is on the mat']
      >>> target = [['there is a cat on the mat', 'a cat is on the mat']]
      >>> bleu = BLEUScore()
      >>> bleu(preds, target)
      tensor(0.7598)
class_docstr_tok: ["Calculate","`","BLEU","score","`","_","of","machine","translated","text","with","one","or","more","references",".","As","input","to","``","forward","``","and","``","update","``","the","metric","accepts","the","following","input",":","-","``","preds","``","(",":","class",":","`","~Sequence","`",")",":","An","iterable","of","machine","translated","corpus","-","``","target","``","(",":","class",":","`","~Sequence","`",")",":","An","iterable","of","iterables","of","reference","corpus","As","output","of","``","forward","``","and","``","update","``","the","metric","returns","the","following","output",":","-","``","bleu","``","(",":","class",":","`","~torch.Tensor","`",")",":","A","tensor","with","the","BLEU","Score","Args",":","n_gram",":","Gram","value","ranged","from","1","to","4","smooth",":","Whether","or","not","to","apply","smoothing",",","see","`","Machine","Translation","Evolution","`","_","kwargs",":","Additional","keyword","arguments",",","see",":","ref",":","`","Metric","kwargs","`","for","more","info",".","weights",":","Weights","used","for","unigrams",",","bigrams",",","etc",".","to","calculate","BLEU","score",".","If","not","provided",",","uniform","weights","are","used",".","Raises",":","ValueError",":","If","a","length","of","a","list","of","weights","is","not","``","None","``","and","not","equal","to","``","n_gram","``",".","Example",":",">",">",">","from","torchmetrics.text","import","BLEUScore",">",">",">","preds","=","[","'the","cat","is","on","the","mat","'","]",">",">",">","target","=","[","[","'there","is","a","cat","on","the","mat","'",",","'","a","cat","is","on","the","mat","'","]","]",">",">",">","bleu","=","BLEUScore","(",")",">",">",">","bleu","(","preds",",","target",")","tensor","(","0.7598",")"]
docstr: Update state with predictions and targets.
docstr_tok: ["Update","state","with","predictions","and","targets","."]
code: def update(
      self, preds: Sequence[str], target: Sequence[Sequence[str]]
  ) -> None:
      """Update state with predictions and targets."""
      self.preds_len, self.target_len = _bleu_score_update(
          preds,
          target,
          self.numerator,
          self.denominator,
          self.preds_len,
          self.target_len,
          self.n_gram,
          _tokenize_fn,
      )
  
file_path: torchmetrics/src/torchmetrics/text/bleu.py
imports: from typing import Any, Optional, Sequence, Union
  import torch
  from torch import Tensor, tensor
  from torchmetrics import Metric
  from torchmetrics.functional.text.bleu import _bleu_score_compute, _bleu_score_update, _tokenize_fn
  from torchmetrics.utilities.imports import _MATPLOTLIB_AVAILABLE
  from torchmetrics.utilities.plot import _AX_TYPE, _PLOT_OUT_TYPE
label_desc: Use image node_id 2 for calling the BLEUScore obj's underlying member method code with example usage: obj.update(preds, target) without return types