Does tensorflow re-initialize weights when training in a for loop?

Solution 1:

Weights are initialized when the layers are defined (before fit). It does not re-initialize weights afterward - even if you call fit multiple times.

To show this is the case, I plotted the decision boundary at regular training epochs (by calling fit and then predict):

enter image description here