code: def test_many_to_many(self, device, dtype):
      input_1 = torch.randn(2, 3, 5, 6, device=device, dtype=dtype)
      input_2 = torch.randn(2, 3, 5, 6, device=device, dtype=dtype)
      mask_1 = torch.ones(2, 1, 5, 6, device=device, dtype=dtype)
      mask_2 = torch.ones(2, 1, 5, 6, device=device, dtype=dtype)
      aug_list = K.ManyToManyAugmentationDispather(
          K.AugmentationSequential(
              kornia.augmentation.ColorJiggle(
                  0.1, 0.1, 0.1, 0.1, p=1.0
              ),
              kornia.augmentation.RandomAffine(360, p=1.0),
              data_keys=["input", "mask"],
          ),
          K.AugmentationSequential(
              kornia.augmentation.ColorJiggle(
                  0.1, 0.1, 0.1, 0.1, p=1.0
              ),
              kornia.augmentation.RandomAffine(360, p=1.0),
              data_keys=["input", "mask"],
          ),
      )
      output = aug_list((input_1, mask_1), (input_2, mask_2))
  
      assert output[0][0].shape == input_1.shape
      assert output[1][0].shape == input_2.shape
      assert output[0][1].shape == mask_1.shape
      assert output[1][1].shape == mask_2.shape
  
imports: from functools import partial
  from unittest.mock import patch
  import pytest
  import torch
  import kornia
  import kornia.augmentation
  from kornia.augmentation.container.base import ParamItem
  from kornia.constants import BorderType
  from kornia.geometry.bbox import bbox_to_mask
  from kornia.testing import assert_close
label_desc: Use image node_id 1 for calling the TestDispatcher obj's underlying member method code with example usage: obj.test_many_to_many(device, dtype) without return types