Solved by KFrank in post #2 
              
              
                Hi Thomas - 

The short answer is that your pytorch code only takes one optimizer 
step. 

With default arguments, tf.keras.Model.fit() performs one epoch 
of training with a batch size of 32.  You pass in 1000 samples, so you 
will train for about 30 optimizer steps.  This should be enough to train …