データのシンプルなシーケンスを作成する方法を少し誤解します。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)の配列を持っていますç
エラーは次のとおりです。この
(1、2369)形状 (なし、12)を有することが期待さactivation_42が、形状を持つ配列を得た:モデル標的をチェック
エラー
model.add(Dense(in_out_neurons))
どのようにそれを動作させるために
Dense
を変更するには:行目でエラーが発生しますか?もう1つの質問は、ANNの重みを初期化するための簡単な自動エンコーダーの追加方法です。