Ensemble Learning using Convolutional Neural Networks
I am new to AI but this is something I can think of. There might be other much better ways. Or even functions in scikit learn to do it

1) create a list of all the 22 models 

2) iterate over the models one by one and use model.predict() for each model and store the hotencoded output to another list or numpy array.

3) Take average of the output list or numpy array. 

4) since the output is a vector of 0,1 it is possible to get decimals in the output after taking avg. Round it off using the basic rules to either 0 or 1.

5) If your CNNs are very deep like inception v3, densenet etc. You might run into memory issues while loading all the 22 model's weights​ into the memory at once. So you can iteratively load the models in small fixed batches and use model.predict() on each model in the batch append the outputs to a list. and then clear them off the memory before loading another batch of models.

This is just my idea. I might be completely wrong also.