hi @ptrblck
i tried your solution but got this error :
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<timed exec> in <module>

/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    539             result = self._slow_forward(*input, **kwargs)
    540         else:
--> 541             result = self.forward(*input, **kwargs)
    542         for hook in self._forward_hooks.values():
    543             hook_result = hook(self, input, result)

<ipython-input-21-1e20d3981e0b> in forward(self, x)
     14 
     15     def forward(self, x):
---> 16         x1 = self.model(x.clone())  # clone to make sure x is not changed by inplace methods
     17         x1 = x1.view(x1.size(0), -1)
     18         x2 = self.model1(x)

/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    539             result = self._slow_forward(*input, **kwargs)
    540         else:
--> 541             result = self.forward(*input, **kwargs)
    542         for hook in self._forward_hooks.values():
    543             hook_result = hook(self, input, result)

TypeError: forward() missing 1 required positional argument: 'x2'


my model has 3 fc layers and i am using single channel images instead,so i am not using pretrained models,so i modified the ensemble code like this :
num_features = 1024
class MyEnsemble(nn.Module):
    def __init__(self, model, model1):
        super(MyEnsemble, self).__init__()
        self.model = model
        self.model1 = model1
        # vowel_diacritic
        self.fc1 = nn.Linear(num_features,11)
        # grapheme_root
        self.fc2 = nn.Linear(num_features,168)
        # consonant_diacritic
        self.fc3 = nn.Linear(num_features,7)

        
    def forward(self, x):
        x1 = self.model(x.clone())  # clone to make sure x is not changed by inplace methods
        x1 = x1.view(x1.size(0), -1)
        x2 = self.model1(x)
        x2 = x2.view(x2.size(0), -1)
        x = torch.cat((x1, x2), dim=1)
        x1 = self.fc1(x)
        x2 = self.fc2(x)
        x3 = self.fc3(x)
        return x1,x2,x3
    


where i am making mistakes?