вы можете выполнить горячую кодировку внутри своей модели:
X = np.asarray([1,2,3,4,4,4,4,5])
inp = Input((1,), dtype='int32')
x = Lambda(lambda x: tf.one_hot(x[:,0], len(set(X))))(inp)
out = Dense(20)(x)
model = Model(inp,out)
model.compile('adam','mse')
print(model.summary())
model.fit(X, np.random.uniform(0,1, (len(X),20)), epochs=3)