code: def test_processor_batch_decode(self):
      image_processor = self.get_image_processor()
      tokenizer = self.get_tokenizer()
  
      processor = MgpstrProcessor(
          tokenizer=tokenizer, image_processor=image_processor
      )
  
      char_input = torch.randn(1, 27, 38)
      bpe_input = torch.randn(1, 27, 50257)
      wp_input = torch.randn(1, 27, 30522)
  
      results = processor.batch_decode(
          [char_input, bpe_input, wp_input]
      )
  
      self.assertListEqual(
          list(results.keys()),
          [
              "generated_text",
              "scores",
              "char_preds",
              "bpe_preds",
              "wp_preds",
          ],
      )
  
imports: import json
  import os
  import shutil
  import tempfile
  import unittest
  import numpy
  import pytest
  from transformers import MgpstrTokenizer
  from transformers.models.mgp_str.tokenization_mgp_str import VOCAB_FILES_NAMES
  from transformers.testing_utils import require_torch, require_vision
  from transformers.utils import IMAGE_PROCESSOR_NAME, is_torch_available, is_vision_available
label_desc: Use image node_id 14 for calling the MgpstrProcessorTest obj's underlying member method code with example usage: obj.test_processor_batch_decode() without return types