データをケラスに渡すにはどうすればよいですか?
-
16-10-2019 - |
質問
私は現在、Kerasを使用して回帰ネットワークをどのようにトレーニングすべきかを理解するのに苦労しています。入力データをネットワークに渡す方法がわかりません。
入力データと出力データの両方が、numpyアレイのリストとして保存されます。
各入力numpyアレイは、(400行、x列)の各出力番号を持つマトリックスであり、各出力番号は(x行数、13列)を持つマトリックスです。
したがって、入力寸法は400で、出力は13です。しかし、リスト内のこれらの各セットをトレーニングに渡すにはどうすればよいですか?
# Multilayer Perceptron
model = Sequential() # Feedforward
model.add(Dense(3, input_dim=400, output_dim=13))
model.add(Activation('tanh'))
model.add(Dense(1))
model.compile('sgd', 'mse')
モデルがモデルをトレーニングすることは、パラメーターを考慮してモデルをトレーニングし、データを実際にどのように取るか、私にとっては魔法のように思えます。また、マトリックスAの列をマトリックスBの行をマッピングする必要があることをどのように知っていますかリストに追加されたマトリックス全体で完了しました。
解決
Kerasのドキュメントを見ると、シーケンシャルモデルの最初のレイヤーが必要な入力を取得することがわかります。たとえば、最初のレイヤーは入力寸法が400の高密度層です。したがって、各入力はサイズ400のnumpy配列でなければなりません。サイズ(x、400)の2D numpyアレイを渡すことができます。 (xは入力例の数であると仮定します)。出力には、各出力ドキュメントに13の寸法があるため、最終的な密度層は model.add(Dense(13))
model.addの代わりに(濃度(1))。
それがどのように知っているかについては、Xの最初の次元がトレーニングの例の数として、2番目の次元が各例のサイズとしてかかります。同様に出力層について。
所属していません datascience.stackexchange