How index 3 is converted to 2 dimensional vector here using weights of the layer.
import numpy as np
from keras.models import Sequential
from keras.layers import Embedding
model = Sequential()
model.add(Embedding(5, 2, input_length=5))
input_array = np.random.randint(5, size=(1, 5))
input_array = np.array([[3 ,3, 2 ,0, 4]])
print(input_array)
model.compile('rmsprop', 'mse')
output_array = model.predict(input_array)
print(output_array)
model.summary()
for layer in model.layers:
print(f'Layer =======> {layer}')
for i, weight in enumerate(layer.weights):
if "bias" in weight.name:
print("Bias ")
if "bias" not in weight.name:
print("Weight ")
print(weight)