class_docstr: Test RepMLP utils
code: def test_convffn(self):
      dummy_input = torch.rand(1, 3, 2, 2).to(self.device)
      layer1 = ConvFFN(
          channels=3, internal_channels=4, drop_rate=0.0
      ).to(self.device)
      layer2 = ConvFFN(
          channels=3, internal_channels=4, drop_rate=0.1
      ).to(self.device)
  
      outs1 = layer1(dummy_input)
      outs2 = layer2(dummy_input)
      # print(outs.shape)
      self.assertTrue(outs1.shape == (1, 3, 2, 2))
      self.assertTrue(outs2.shape == (1, 3, 2, 2))
  
file_path: towhee/tests/unittests/models/replknet/test_utils.py
imports: import unittest
  import torch
  from torch import nn
  from towhee.models.layers.conv_bn_activation import Conv2dBNActivation
  from towhee.models.replknet import fuse_bn, ConvFFN, ReparamLargeKernelConv, RepLKBlock, RepLKNetStage
label_desc: Use image node_id 2 for calling the TestUtils obj's underlying member method code with example usage: obj.test_convffn() without return types