2016-06-29 6 views
0

2つの隠れたレイヤーと2つのドロップアウトを持つmlpのサンプルネットワークを使用します。 したがって、load_data()関数は400行の20個のフィーチャーを持ち、ラベルデータセットは400関数に渡すときのTheanoデータセットの寸法誤差

l_in = lasagne.layers.InputLayer(shape=(None, 20), input_var=input_var) 

と私の列車の機能は、この辺りでtrain_fn = theano.function([input_var, target_var], loss, updates=updates, allow_input_downcast=True)

です:y_train_y_test X_train X_testに分割し、いくつかは、私のラザニア入力層がある検証

のために取り出される変数私のプログラムは、スキップ:私は理解してtrain_err += train_fn(inputs, targets)

'Wrong number of dimensions: expected 1, got 2 with shape (20, 1).') 

20、1、私は1つの側とラベル側の1つの値に20個の値に渡されたが、私はautonmatically各配列を平らにtheano思って?

これを修正するにはどうすればよいですか? ご協力いただければ幸いです!あなたはtrain_fn()に渡す

答えて

1

入力がnがあなたのminibatchの例の数である形状(n, 20)、とndarrayでなければなりません。ターゲットは、形状(n)ndarrayである必要があります(形状(1, n)(n, 1)は機能しません)。実際に関数に渡す配列がこれらの図形と一致しているかどうかを二重チェックしてみてください。

+0

私は寝る前にこの問題を解決しました。そしてtrain_fn関数は(1,20)のndarrayを取り込み、minibatch maker関数で20に変更しました彼らは整列しています...あなたがゲームを助けて、私の新しい質問をチェックし、あなたの現在の答えを私のために働いたもの – entercaspa

関連する問題