code: def setUp(self) -> None:
      preds_maps = torch.rand(1, 6, 64, 64)
      gcn_pred = torch.rand(1, 2)
      gt_labels = torch.zeros((1), dtype=torch.long)
      self.preds = (preds_maps, gcn_pred, gt_labels)
      self.data_samples = [
          TextDetDataSample(
              metainfo=dict(img_shape=(64, 64)),
              gt_instances=InstanceData(
                  polygons=[
                      np.array([4, 2, 30, 2, 30, 10, 4, 10]),
                      np.array([36, 12, 8, 12, 8, 22, 36, 22]),
                      np.array([48, 20, 52, 20, 52, 50, 48, 50]),
                      np.array([44, 50, 38, 50, 38, 20, 44, 20]),
                  ],
                  ignored=torch.BoolTensor(
                      [False, False, False, False]
                  ),
              ),
          )
      ]
  
file_path: mmocr/tests/test_models/test_textdet/test_module_losses/test_drrg_module_loss.py
imports: from unittest import TestCase
  import numpy
  import torch
  from mmengine.structures import InstanceData
  from mmocr.models.textdet.module_losses import DRRGModuleLoss
  from mmocr.structures import TextDetDataSample
label_desc: Use image node_id 1 for calling the TestDRRGModuleLoss obj's underlying member method code with example usage: obj.setUp() without return types