【发布时间】:2021-03-30 12:25:00
【问题描述】:
首先,我知道有很多类似的问题;我已经尝试按照答案的建议去做,但似乎我不知道如何解决它。我有一个Keras Functional API model:
lstm_input = keras.layers.Input(shape=(1,4), name='lstm_input')
x = keras.layers.LSTM(50, name='lstm_0')(lstm_input)
x = keras.layers.Dropout(0.2, name='lstm_dropout_0')(x)
x = keras.layers.Dense(64, name='dense_0')(x)
x = keras.layers.Activation('sigmoid', name='sigmoid_0')(x)
x = keras.layers.Dense(1, name='dense_1')(x)
output = keras.layers.Activation('linear', name='linear_output')(x)
model = keras.Model(inputs=lstm_input, outputs=output)
adam = keras.optimizers.Adam(lr=0.0005)
model.compile(optimizer=adam, loss='mse')
当我尝试安装它时,它会跳出这个错误:
ValueError: Error when checking input: expected lstm_input to have 3 dimensions, but got array with shape (4, 1)
这是我给fit的电话:
model.fit(X_aux['X_i'], X[i+1, 0])
# X_aux['X_i'].shape = (4, ) -- it's a numpy array
我试过np.reshape([X_aux['X_i1']], (4,1)),它的新形状是(4, 1),但它不起作用。我该如何解决这个问题?
【问题讨论】:
标签: python tensorflow keras deep-learning