2017-07-10 8 views
0

私はKerasに少し新しく、 。私の訓練データは、len(x_train) = 1108とlen(x_train)[0] = 29430のような形になっていますが、私は形状を間違って作っているようです。私はモデルの概要を走ったモデルのターゲットを確認するときにエラーが発生しました:dense_2がshape(None、29430)を持っていて、形状(1108,1)の配列を持っています

(。タイトルに正確なエラーメッセージは***星で標識された場所である)、その形状は次のようにする必要があります:

レイヤ(タイプ) 出力形状


INPUT_1(InputLayer)
(なし、29430)
に接続 のParam#
[何]


dense_1(密)
(なし、64)
INPUT_1 [0] [0]


dense_2(密)
(なし、 29430)
dense_1 [0] [0]


inputs = Input(shape=(29430,)) 
h = Dense(64, activation='sigmoid')(inputs) 
outputs = Dense(29430)(h) 

model = Model(input=inputs, output=outputs) 

model.summary() 

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) 
model.fit(x_train, y_train, # *** 
    batch_size=batch, 
    #epochs=epochs, 
    validation_data=(x_test, y_test), 
    callbacks=[TestCallback((x_test, y_test))]) 

h.trainable = False 

outputs = Dense(1)(h) 
outputs = Activation('sigmoid') 

model2 = Model(input=inputs, output=outputs) 

model2.fit(x_train, y_train, 
batch_size=batch, 
epochs=epochs, 
validation_data=(x_test, y_test)) 
+0

あなたの機能の次元は何ですか? 1108? –

+0

フィーチャー(または列)の数は29430で、行数は1108です。 – quil

答えて

0

問題は、あなたがモデルを訓練するために提供ラベルにあるように見えます。それらは形状(None, 1)ですが、モデルの出力は(None, 29430)なので、ラベルには同じ出力が必要です。

+0

いいえ、モデルにはスカラー出力があります。 –

+0

まあ、出力は 'outputs = Dense(29430)(h)'と定義されているので、出力単位は29430です。 – gcucurull

+0

@gcucurullそれは理にかなっています。私のラベルは、1108要素の[1、1、...、0、0]の形式です。 (各行には1または0とラベルが付けられています)。ラベルの書式やモデルを修正して寸法を修正することをお勧めしますか? – quil

関連する問題

 関連する問題