code: def setUp(self):
      gt_text_sample1 = TextRecogDataSample()
      gt_text = LabelData()
      gt_text.item = "Hello"
      gt_text_sample1.gt_text = gt_text
      gt_text_sample1.set_metainfo(dict(valid_ratio=0.9))
  
      gt_text_sample2 = TextRecogDataSample()
      gt_text = LabelData()
      gt_text = LabelData()
      gt_text.item = "World"
      gt_text_sample2.gt_text = gt_text
      gt_text_sample2.set_metainfo(dict(valid_ratio=1.0))
  
      self.data_info = [gt_text_sample1, gt_text_sample2]
      self.dict_cfg = dict(
          type="Dictionary",
          dict_file="dicts/lower_english_digits.txt",
          with_start=True,
          with_end=True,
          same_start_end=True,
          with_padding=True,
          with_unknown=True,
      )
  
file_path: mmocr/tests/test_models/test_textrecog/test_decoders/test_sequence_attention_decoder.py
imports: from unittest import TestCase
  import torch
  from mmengine.structures import LabelData
  from mmocr.models.textrecog.decoders import SequenceAttentionDecoder
  from mmocr.structures import TextRecogDataSample
label_desc: Use image node_id 1 for calling the TestSequenceAttentionDecoder obj's underlying member method code with example usage: obj.setUp() without return types