2017-03-11 26 views
2

ケラスを使い慣れていて、まだ次元の規則を理解していません。私は、TFのバックエンドを使用し、このValueErrorを以下のコードで続けます。アイデアは、長さ6の1つの時系列配列を処理する必要がある2つの1D畳み込みレイヤーを使用することです。これらの出力は、併合され、2次元畳み込みレイヤーでコンボリューションされる必要があります。助けてくれてありがとう。私は次の操作を行うことができ助言する会話の後Keras CNN互換性のない入力

NN1 = Sequential() 
NN1.add(Convolution1D(4, 2, 
         input_dim=6, 
         activation='relu')) 

NN2 = Sequential() 
NN2.add(Convolution1D(4, 2, 
         input_dim=6, 
         activation='relu')) 

TNN = Sequential() 
TNN.add(Merge([NN1, NN2], mode='concat', concat_axis=1)) 
TNN.add(Convolution2D(2, 2, 2, input_shape=(2, 4, 1, 2), activation='relu')) 

ValueError: Input 0 is incompatible with layer convolution2d_1: expected ndim=4, found ndim=3 
+0

あなたは私達にあなたのデータの形状を提供してもらえますか? –

+0

データの形状は(1、1、6)になります。 – cpat

+0

これは、入力がタイムステップが1つのシーケンスであることを意味しますか? –

答えて

1

TNN.add(Merge([NN1, NN2], mode='concat', concat_axis=-1)) 
TNN.add(Convolution1D(2, 2, activation='relu')) 
TNN.add(GlobalMaxPooling1D()) 
TNN.add(Dense(...)) # Put your parameters here. 
関連する問題