I am building a tensorflow model in google colab.
i get confused with the behaviour of the embedding layer. it keeps dropping the input layer size to half.

```
def build_model(vocab_size, embedding_dim, rnn_units, batch_size):
  model = tf.keras.Sequential([
    tf.keras.layers.Embedding(vocab_size, embedding_dim,
                              batch_input_shape=[batch_size, 100]),
    tf.keras.layers.GRU(rnn_units,
                        return_sequences=True,
                        stateful=True,
                        recurrent_initializer='glorot_uniform'),
    tf.keras.layers.Dense(vocab_size)
  ])
  return model

model = build_model(
  vocab_size = len(vocab),
  embedding_dim=embedding_dim,
  rnn_units=rnn_units,
  batch_size=BATCH_SIZE)

model.compile(optimizer='adam', loss=loss)

```

and here is the input.

```
dataset = helperDf(df, 64,100)

```

dataset is a batch helper class. everytime it is called, it return array with two tensor with size [(64,100),(64,100)] for train and label.

calling 

```
example_batch_predictions = model(dataset.batch())

print(example_batch_predictions.shape, "# (batch_size, sequence_length, vocab_size)")

```

return fine. with 
`(64, 100, 48) # (batch_size, sequence_length, vocab_size)`

however when I call :

```
history = model.fit(dataset.batch(), epochs=EPOCHS, callbacks=[checkpoint_callback])

```

It return :

```
WARNING:tensorflow:Model was constructed with shape (64, 100) for input Tensor("embedding_4_input:0", shape=(64, 100), dtype=float32), but it was called on an input with incompatible shape (32, 100).

```

why it detects the input as 32 not 64 ?

regards