code: def test_numerical_stability(self) -> None:
      D = 3
      B = 6
      keys = ["f1", "f2"]
      F = len(keys)
  
      inter_arch = InteractionArch(num_sparse_features=F)
      torch.manual_seed(0)
      dense_features = torch.randint(0, 10, (B, D))
  
      sparse_features = torch.randint(0, 10, (B, F, D))
  
      concat_dense = inter_arch(dense_features, sparse_features)
  
      expected = torch.LongTensor(
          [
              [4, 9, 3, 61, 57, 63],
              [0, 3, 9, 84, 27, 45],
              [7, 3, 7, 34, 50, 25],
              [3, 1, 6, 21, 50, 91],
              [6, 9, 8, 125, 109, 74],
              [6, 6, 8, 18, 80, 21],
          ]
      )
  
      self.assertTrue(torch.equal(concat_dense, expected))
  
imports: import unittest
  import torch
  from torch import nn
  from torch.testing import FileCheck
  from torchrec.datasets.utils import Batch
  from torchrec.fx import symbolic_trace
  from torchrec.models.dlrm import choose, DenseArch, DLRM, DLRM_DCN, DLRM_Projection, DLRMTrain, InteractionArch, InteractionDCNArch, InteractionProjectionArch, SparseArch
  from torchrec.modules.crossnet import LowRankCrossNet
  from torchrec.modules.embedding_configs import EmbeddingBagConfig
  from torchrec.modules.embedding_modules import EmbeddingBagCollection
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor
label_desc: Use image node_id 6 for calling the InteractionArchTest obj's underlying member method code with example usage: obj.test_numerical_stability() without return types