Я работаю над моделью с автоэнкодером, используя метод внимания. Около 10000 пакетов данных поступают в модель, и каждый пакет содержит 30 изображений (30 - это «step_size» в ConvLSTM) с формой (5, 5, 3 [R, G, B]).
Следовательно, массив имеет форму (10000, 30, 5, 5, 3)
(batch_size, step_size, image_height, image_width, scale).
Я намеренно сделал форму выходного массива как (1,5,5,3)
, потому что каждое изображение должно обрабатываться независимо, чтобы применить метод внимания.
Когда я связываю все операции с tf.keras.Model
, так что его вход имеет форму (10000,30,5,5,3)
и форму вывода (1,5,5,3)
.
history = model.fit(train_data, train_data, batch_size = 1, epochs = 3)
Я пытаюсь изменить аргументы в модуле Model, но кажется, что он не работает, потому что форма вывода не совпадает с формой ввода.
Есть ли какие-либо возможные способы подачи данных по одному?
Я в итоге запускаю код, похожий на:
model = keras.Model(intput, output)
model.compile(optimizer='adam',loss= tf.keras.losses.MSE)
history = model.fit(train_data, train_data, batch_size = 1, epochs = 3)