class_docstr: Wrapper class for sequence generators for NeMo transformers.
class_docstr_tok: ["Wrapper","class","for","sequence","generators","for","NeMo","transformers","."]
docstr: Decode tokens into strings
  Rarams:
  -   seq_tokens: integer tensor of shape BxT
  Returns:
  -   list of strings
docstr_tok: ["Decode","tokens","into","strings","Rarams",":","-","seq_tokens",":","integer","tensor","of","shape","BxT","Returns",":","-","list","of","strings"]
code: def decode_semantics_from_tokens(
      self, seq_tokens: torch.Tensor
  ) -> List[str]:
      """
      Decode tokens into strings
      Rarams:
      -   seq_tokens: integer tensor of shape BxT
      Returns:
      -   list of strings
      """
      semantics_list = []
      # Drop sequence tokens to CPU
      seq_tokens = seq_tokens.detach().long().cpu()
      seq_lengths = self.get_seq_length(seq_tokens)
      # iterate over batch
      for ind in range(seq_tokens.shape[0]):
          tokens = seq_tokens[ind].numpy().tolist()
          length = seq_lengths[ind].long().cpu().item()
          tokens = tokens[:length]
          text = "".join(self.tokenizer.tokenizer.decode_ids(tokens))
          semantics_list.append(text)
      return semantics_list
  
file_path: NeMo/nemo/collections/asr/parts/utils/slu_utils.py
imports: from dataclasses import dataclass
  from typing import List, Optional
  import torch
  from omegaconf import DictConfig
  from nemo.collections.asr.modules.transformer import BeamSearchSequenceGenerator, GreedySequenceGenerator, TopKSequenceGenerator
  from nemo.collections.common.tokenizers.tokenizer_spec import TokenizerSpec
  from nemo.core.classes.module import NeuralModule
label_desc: Use image node_id 4 for calling the SequenceGenerator obj's underlying member method code with example usage: obj.decode_semantics_from_tokens(seq_tokens) and returns: semantics_list