我稍微误解了如何为我的数据创建一个简单的序列。
数据具有以下维度:
X_train.shape
(2369, 12)
y_train.shape
(2369,)
X_test.shape
(592, 12)
y_test.shape
(592,)
这就是我创建模型的方式:
batch_size = 128
nb_epoch = 20
in_out_neurons = X_train.shape[1]
dimof_middle = 100
model = Sequential()
model.add(Dense(batch_size, batch_input_shape=(None, in_out_neurons)))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(batch_size))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(in_out_neurons))
model.add(Activation('linear'))
# I am solving the regression problem, not the classification one
model.compile(loss="mean_squared_error", optimizer="rmsprop")
history = model.fit(X_train, y_train,
batch_size=batch_size, nb_epoch=nb_epoch,
verbose=1, validation_data=(X_test, y_test))
错误信息:
异常:检查模型输入时出错:预期的dense_input_14为
具有形状 (None, 1) 但获得形状为 (2369, 12)ç 的数组
错误是:
检查模型目标时出错:预期activation_42具有形状
(无, 12) 但得到形状为 (2369, 1) 的数组
该错误发生在以下行:
model.add(Dense(in_out_neurons))
如何改变Dense
让它发挥作用?
另一个问题是如何添加一个简单的自动编码器来初始化 ANN 的权重?