class_docstr: A type of sentence level transformation that takes in a text input,
  translates it into target language and translates it back to source
  language.
  
  letters_to_insert (string): letters allowed for insertion into words
  (used by some char-based transformations)
  
  src_lang (string): source language
  target_lang (string): target language, for the list of supported language check bottom of this page
  src_model: translation model from huggingface that translates from source language to target language
  target_model: translation model from huggingface that translates from target language to source language
  chained_back_translation: run back translation in a chain for more perturbation (for example, en-es-en-fr-en)
  
  Example::
  
      >>> from textattack.transformations.sentence_transformations import BackTranslation
      >>> from textattack.constraints.pre_transformation import RepeatModification, StopwordModification
      >>> from textattack.augmentation import Augmenter
  
      >>> transformation = BackTranslation()
      >>> constraints = [RepeatModification(), StopwordModification()]
      >>> augmenter = Augmenter(transformation = transformation, constraints = constraints)
      >>> s = 'What on earth are you doing here.'
  
      >>> augmenter.augment(s)
code: def translate(self, input, model, tokenizer, lang="es"):
      # change the text to model's format
      src_texts = []
      if lang == "en":
          src_texts.append(input[0])
      else:
          if ">>" and "<<" not in lang:
              lang = ">>" + lang + "<< "
          src_texts.append(lang + input[0])
  
      # tokenize the input
      encoded_input = tokenizer.prepare_seq2seq_batch(
          src_texts, return_tensors="pt"
      )
  
      # translate the input
      translated = model.generate(**encoded_input)
      translated_input = tokenizer.batch_decode(
          translated, skip_special_tokens=True
      )
      return translated_input
  
file_path: TextAttack/textattack/transformations/sentence_transformations/back_translation.py
imports: import random
  from transformers import MarianMTModel, MarianTokenizer
  from textattack.shared import AttackedText
  from .sentence_transformation import SentenceTransformation
label_desc: Use image node_id 2 for calling the BackTranslation obj's underlying member method code with example usage: obj.translate(input, model, tokenizer, lang) and returns: translated_input