現在、入力データを所望の出力データにマッピングできる線形回帰ネットワークを作成しようとしています。私のモデルを鍛えることができない理由
私の入力と出力は現在、numpy.ndarrayとして格納されている行列のリストとして格納されています。
回帰ネットワークの入力寸法が400 あり、回帰ネットワークの出力寸法が13
ある入力側の各マトリクスは、印刷入力によって寸法[400、X] =>出力を有する[0 ] .shape
出力側の各マトリクスは、印刷出力によって寸法[13、X] =>出力を有している[0]
を.shape iは現在定義されてきたネットワークは次のようになります
print "Training!"
model = Sequential()
model.add(Dense(output_dim=13, input_dim=400, init="normal"))
model.add(Activation("relu"))
print "Compiling"
model.compile(loss='mean_squared_error', optimizer='sgd')
model.fit(input,output,verbose=1)
問題は列車の段階です。
何とか時間がかかり、進行状況に関する情報はありません。システムが停止したように見えて、このエラーメッセージで終了しました。
Traceback (most recent call last):
File "tensorflow_datapreprocess_mfcc_extraction_rnn.py", line 169, in <module>
model.fit(train_set_data,train_set_output,verbose=1)
File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 620, in fit
sample_weight=sample_weight)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1034, in fit
batch_size=batch_size)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 961, in _standardize_user_data
exception_prefix='model input')
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 51, in standardize_input_data
'...')
Exception: Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 1 arrays but instead got the following list of 270 arrays: [array([[ -1.52587891e-04, 3.05175781e-05, -1.52587891e-04,
-5.18798828e-04, 3.05175781e-05, -3.96728516e-04,
1.52587891e-04, 3.35693359e-04, -9.15527344e-05,
3.3...
エラーが私の入力データを解析する方法かもしれないと思います。これは私にとっては黒い魔法です。 numpyのトレーニングデータの配列、またはnumpyのアレイのリスト複数の入力を有する モデル場合:ドキュメントが
https://keras.io/models/model/
fit(self, x, y, batch_size=32, nb_epoch=10, verbose=1, callbacks=[], validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None)
Xと述べています。モデル内のすべての入力に名前が付いている場合は、 も入力名をNumpy配列にマッピングする辞書を渡すことができます。
y:モデル に複数の出力がある場合、ターゲットデータのナンシー配列、またはナンシー配列のリスト。モデル内のすべての出力に名前が付けられている場合は、 もNumpy配列に出力名をマッピングする辞書を渡すことができます。
Numpyアレイのリストは何ですか?それが読まなければならない行を知っているかどうか?...私は知らない。 numpy.ndarraysは各配列が行であるnumpy.arraysのリストとして格納されていると思います。
それはとてもこの単純な例によると思わ:
入力:
import numpy as np
lis = []
output_data = np.random.rand(5,3)
output_data_1 = np.random.rand(5,2)
lis.append(output_data)
lis.append(output_data_1)
print output_data.shape
print output_data_1.shape
print lis
出力:
(5, 3)
(5, 2)
[array([[ 0.15509364, 0.20140267, 0.13678847],
[ 0.2, 0.38430659, 0.87265863],
[ 0.01053336, 0.28403731, 0.19749507],
[ 0.95775409, 0.96032907, 0.46996195],
[ 0.29515174, 0.74466708, 0.78720968]]), array([[ 0.34216058, 0.74972468],
[ 0.97262113, 0.84451951],
[ 0.72230052, 0.30852572],
[ 0.47586734, 0.03382701],
[ 0.37998285, 0.80772875]])]
は、だから私は間違って何をやっていますか?なぜデータをモデルに渡すことができないのですか?
あなたの形には「x」とは何ですか? "入力側の各マトリックスは、print input [0]によって出力された[400、x] =>ディメンションを持ちます。形状 出力側の各マトリックスの寸法は[13、x] =>プリント出力[0] .shape " – pyan
xで、yはnumpy.ndarraysのリストです。 –