Я обнаружил странное поведение в tensorflow.keras, его нет в classi c keras. У меня есть эти формы в моем наборе данных.
x_train = np.random.rand(60,3,1)
y_train = np.random.rand(60,1)
И эта сеть LSTM
from tensorflow.keras.layers import Dense, LSTM
from tensorflow.keras import Sequential
model = Sequential()
model.add(LSTM(120,input_shape=(3,1)))
model.add(Dense(2,activation="relu"))
model.compile(loss="MSE",optimizer="adam")
model.fit(x_train,y_train,epochs=1)
model.summary()
Предполагается, что это не должно работать, потому что вывод сети равен (, 2) и y_train есть (, 1). Но он начинает обучение.
Но с использованием classi c keras он не работает, как я и ожидал.
from keras.layers import Dense, LSTM
from keras import Sequential
model = Sequential()
model.add(LSTM(120,input_shape=(3,1)))
model.add(Dense(2,activation="relu"))
model.compile(loss="MSE",optimizer="adam")
model.fit(x_train,y_train,epochs=1)
model.summary()
Версия есть, и я использую Google Colab:
- Tensorflow: 2.2.0
- Keras: 2.3.1
Что могло быть причиной этого? Это ошибка или новая функция?