How to run same Keras model on different GPUs in parallel independently with different data?
How about multiprocessing?
You just execute you function in a multiprocessing pool twice:
What you need to consider:

Your model have to be defined or loaded inside the function
You need a parameter which mask the GPUs. Masking is possible by setting the env variable CUDA_VISIBLE_DEVICES(you also have to do this inside the function)
You could pass the different training data via a parameter
it would be best to save the resulting models into different files and then load it from your main program 

So basically passing keras/tensorflow sessions between your main programm and the functions in the multiprocessing tool is a nogo. But if you keep everything keras/tensorflow related inside the function and mask the GPUs differently then you're good to go.
Let's say I have two instances of a keras model model0 and model1 and datasets data0 and data1. If I have two or more GPUs, is there a way that I can train model0 on data0 on GPU0 and model1 on data1 on GPU1 in parallel? All of the methods I have found so far split the training of a single model over multiple gpus.
Thanks!