Tensorflow: ошибка значения: `генератор` выдал элемент формы (), где ожидался элемент формы ()

#tensorflow #keras #neural-network

Вопрос:

Мой набор данных:

 ds = tf.data.Dataset.from_generator(
     data_generator.generate,
     output_types=({"input_1": tf.int64, "input_2": tf.int64}, tf.int64), 
     output_shapes = ({"input_1": tf.TensorShape([None, 500]), "input_2": 
                     tf.TensorShape([None, 500])},tf.TensorShape(None)))
 

Моя функция предварительного процесса возвращает:

 return ({'input_1': ids1, 'input_2':  ids2}, label)
 

Моя модель (с несколькими входами):

 input_1 = Input(shape=(500,) , name='input_1')
............
input_2 = Input(shape=(500,) , name='input_2')
 

При запуске обучения я получаю следующую ошибку:
ValueError: generator yielded an element of shape (500,) where an element of shape (None, 500) was expected

Есть идеи, что я могу сделать не так ?

ИЗМЕНИТЬ: При обновлении output_shapes до:

 output_shapes = ({"input_1": tf.TensorShape([500]), "input_2": tf.TensorShape([500])},tf.TensorShape(None)))
 

Я получаю следующее предупреждение:
WARNING:tensorflow:Model was constructed with shape (None, 500) for input KerasTensor(type_spec=TensorSpec(shape=(None, 500), dtype=tf.float32, name='input_1'), name='input_1', description="created by layer 'input_1'"), but it was called on an input with incompatible shape (500, 1)