Thanks for the update.
You are reusing modelC in the forward method so change it to:
        x1 = self.modelA(x1)
        x2 = self.modelB(x2)
        x3 = self.modelC(x3)

Also, the input to modelA should have a single input channel, since you’ve replaced the first conv layer, so use:
x1 = torch.randn(1, 1, 224, 224)