Thanks for the code.
The error is raised in fuse_module_1 in the children loop when name = 'classifier' and child = nn.Sequential(...), which is recursively calling into fuse_module_1 and errors in:
        if name =='2' and isinstance(child,nn.BatchNorm1d):
          print("child is",child)
          bc = fuse_1(c18,child)
          print(m)
          m.classifier[1].linear = bc
          m.classifier[2] = DummyModule_1()

In this iteration m is already the nn.Sequential module and you should probably use:
        if name =='2' and isinstance(child,nn.BatchNorm1d):
          print("child is",child)
          bc = fuse_1(c18,child)
          print(m)
          m[1].linear = bc
          m[2] = DummyModule_1()

instead. Note that I haven’t checked the rest of the code, just this error message.