我稍微誤解了如何爲我的數據創建一個簡單的序列。指定密集使用keras庫
數據具有以下尺寸:
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到 有形狀(無,1),但有形狀的數組(2369,12)ç
錯誤是:
錯誤時檢查模型對象:預期activation_42具有形狀 (無,12),但具有形狀得到了陣列(2369,1)
這
model.add(Dense(in_out_neurons))
如何改變Dense
,使其工作:在行中出現的錯誤?
另一個問題是如何添加一個簡單的自動編碼器來初始化ANN的權重?