#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)