Я хочу создать модель, которая использует матрицу формы (64, 4) для прогнозирования массива формы (4). Но это не работает по какой-то причине. Например, вот код:
import numpy as np
from tensorflow.keras import models, layers, optimizers
x = np.random.uniform(size=600*64*4).reshape(600, 64, 4)
y = np.random.uniform(size=600*4).reshape(600, 4)
model = models.Sequential([
layers.Dense(16, activation='relu', input_shape=[64, 4]),
layers.Dense(16, activation='relu'),
layers.Dense(4)
])
model.compile(loss='mean_absolute_error',
optimizer=optimizers.SGD(lr=1e-3, momentum=0.9),
metrics=["mae"])
model.fit(x, y, epochs=5)
И этот скрипт заканчивается на InvalidArgumentError: Incompatible shapes: [32,64,4] vs. [32,4]
Но код ниже:
import numpy as np
from tensorflow.keras import models, layers, optimizers
x = np.random.uniform(size=600*4).reshape(600, 4)
y = np.random.uniform(size=600*4).reshape(600, 4)
model = models.Sequential([
layers.Dense(16, activation='relu', input_shape=[4]),
layers.Dense(16, activation='relu'),
layers.Dense(4)
])
model.compile(loss='mean_absolute_error',
optimizer=optimizers.SGD(lr=1e-3, momentum=0.9),
metrics=["mae"])
model.fit(x, y, epochs=5)
... работает просто отлично. Мне кажется, в таком поведении есть логическая ошибка. А может я чего-то не понимаю.
Пожалуйста, помогите.