Custom Training Loops for Multi Headed Tensorflow 2 Models