class_docstr: The ``TranslationTask`` is a :class:`~flash.Task` for Seq2Seq text translation. For more details, see
  :ref:`translation`.
  
  You can change the backbone to any translation model from `HuggingFace/transformers
  <https://huggingface.co/models?filter=pytorch&pipeline_tag=translation>`__ using the ``backbone`` argument.
  
  Args:
      backbone: backbone model to use for the task.
      max_source_length: The maximum length to pad / truncate input sequences to.
      max_target_length: The maximum length to pad / truncate target sequences to.
      padding: The type of padding to apply. One of: "longest" or ``True``, "max_length", "do_not_pad" or
          ``False``.
      loss_fn: Loss function for training.
      optimizer: Optimizer to use for training.
      lr_scheduler: The LR scheduler to use during training.
      metrics: Metrics to compute for training and evaluation. Defauls to calculating the BLEU metric.
          Changing this argument currently has no effect.
      learning_rate: Learning rate to use for training, defaults to `1e-5`
      num_beams: Number of beams to use in validation when generating predictions. Defaults to `4`
      n_gram: Maximum n_grams to use in metric calculation. Defaults to `4`
      smooth: Apply smoothing in BLEU calculation. Defaults to `True`
      enable_ort: Enable Torch ONNX Runtime Optimization: https://onnxruntime.ai/docs/#onnx-runtime-for-training
code: def compute_metrics(self, generated_tokens, batch, prefix):
      reference_corpus = self.decode(batch["labels"])
      # wrap targets in list as score expects a list of potential references
      reference_corpus = [[reference] for reference in reference_corpus]
  
      translate_corpus = self.decode(generated_tokens)
      translate_corpus = list(translate_corpus)
  
      result = self.bleu(translate_corpus, reference_corpus)
      self.log(
          f"{prefix}_bleu_score",
          result,
          on_step=False,
          on_epoch=True,
          prog_bar=True,
      )
  
file_path: lightning-flash/src/flash/text/seq2seq/translation/model.py
imports: from typing import Any, Dict, Optional, Union
  from torchmetrics import BLEUScore
  from flash.core.utilities.types import LOSS_FN_TYPE, LR_SCHEDULER_TYPE, METRICS_TYPE, OPTIMIZER_TYPE
  from flash.text.seq2seq.core.model import Seq2SeqTask
label_desc: Use image node_id 3 for calling the TranslationTask obj's underlying member method code with example usage: obj.compute_metrics(generated_tokens, batch, prefix) without return types