title: Keras/Tensorflow model seems to run the 'call' method twice on fit - why?
body: <p>I added a print to a <code>call</code> function in Keras model, and suspect that the <code>call</code> method is called twice on model.fit - what is the reason for that?</p>
  <pre><code>class my_model(keras.Model):
      def __init__(self,  units = 3, **kargs):
          super().__init__(**kargs)
          self.hidden = keras.layers.Dense(1)
      
      def call(self, inputs):
          outputs = self.hidden(inputs)
          print ('my_model call function')
          return outputs
  
  model = my_model()
  model.compile(loss = &quot;mse&quot;)
  
  X = np.random.standard_normal([10,3])
  y = np.random.standard_normal([10,1])
  
  history = model.fit(X, y, epochs = 1000, verbose = 0)
  </code></pre>
  <p>Output:</p>
  <pre><code>my_model call function
  my_model call function
  </code></pre>