I see, I think I get the point:
The model itself has this forward:
    def forward(self, x):
        result = self.view_resnet(x)
        h = F.relu(self.fc1(result))
        h = self.output_layer(h)[:2]
        return h

And output_layer by its turn has the following forward:
    def forward(self, x):
        h = self.fc_layer(x)
        if len(self.output_shape) > 1:
            h = h.view(h.shape[0], *self.output_shape)  
        h = F.log_softmax(h, dim=-1)
        return h

So it seems that h = self.output_layer(h)[:2] in top model is preventing from getting 3 outputs or more. I changed to h = self.output_layer(h) and is just working.
Thank you!