class_docstr: OpenNMT Tokenizer transform class.
docstr: Do OpenNMT Tokenizer's detokenize.
docstr_tok: ["Do","OpenNMT","Tokenizer","'s","detokenize","."]
code: def _detokenize(self, tokens, side="src", is_train=False):
      """Do OpenNMT Tokenizer's detokenize."""
      tokenizer = self.load_models[side]
      if self.gpt2_pretok:
          sentence = "".join(tokens)
          detokenized = bytearray(
              [self.revtable[c] for c in sentence]
          ).decode("utf-8", errors="replace")
      else:
          detokenized = tokenizer.detokenize(tokens)
      return detokenized.replace("\n", DefaultTokens.SEP)
  
imports: import re
  from onmt.utils.logging import logger
  from onmt.transforms import register_transform
  from .transform import Transform, ObservableStats
  from onmt.constants import DefaultTokens
label_desc: Use image node_id 10 for calling the ONMTTokenizerTransform obj's underlying member method code with example usage: obj._detokenize(tokens, side, is_train) and returns: detokenized