Я "появился", чтобы решить эту проблему, если я изменил это:
dataset = tf.data.Dataset.from_generator(
lambda: gen,
output_types = (tf.float32, tf.float32),
# output_shapes = ([32, 224, 224, 3], [32, 6]),
output_shapes = ([None, 224, 224, 3], [None, 6]),
)
т.е. вместо явного размера пакета 32 в этом бите кода, я заменил его на None. По-видимому, больше не жалуются на (11, 224, 224, 3) оставшуюся часть партии. Но есть ли способ для набора данных для выборки 32 даже в конце? просто перевернитесь на «начало» поезда. Что-то все еще подозрительно для меня.
Я запустил .fit, и он, по-видимому, работает, потери теряются, а точность возрастает с каждой эпохой.
Если у кого-то есть способ лучше или объяснения, пожалуйста, дайте мне знать.