连接两个数据集以提供两个模型时遇到问题。我该如何解决?
这是我的架构的一个例子:
# concatenate the two datasets
network_data = pd.concat([network_data1, network_data2], ignore_index=True)`
# separate the input features and labels
`X = network_data.drop('Label', axis=1)`
`y = network_data['Label']`
# split the data into train and test sets
`X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)`
# create the first model
`model1 = Model(inputs=input1, outputs=output1)`
# train the first model
`model1.compile()`
`model1.fit()`
# create the second model
`model2 = Model(inputs=input2, outputs=output2)`
# train the second model
`model2.compile()`
`model2.fit()`
# concatenate the output of the two models
`concatenated = concatenate([model1.output, model2.output])`
# create the common model
`output3 = Dense()(concatenated)`
`model = Model(inputs=[model1.input, model2.input], outputs=output3)`
# compile the common model
`model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])`
# train the common model
`model.fit([X_train, y_train], epochs=10, batch_size=32, validation_data=([X_test, y_test]))`
`__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) (None, 72, 1) 0
__________________________________________________________________________________________________
input_3 (InputLayer) (None, 72, 1) 0
__________________________________________________________________________________________________
conv1d_1 (Conv1D) (None, 72, 65) 455 input_1[0][0]
__________________________________________________________________________________________________
conv1d_9 (Conv1D) (None, 72, 65) 455 input_3[0][0]
__________________________________________________________________________________________________
batch_normalization_1 (BatchNor (None, 72, 65) 260 conv1d_1[0][0]
__________________________________________________________________________________________________
batch_normalization_9 (BatchNor (None, 72, 65) 260 conv1d_9[0][0]
__________________________________________________________________________________________________
max_pooling1d_1 (MaxPooling1D) (None, 36, 65) 0 batch_normalization_1[0][0]
__________________________________________________________________________________________________
max_pooling1d_9 (MaxPooling1D) (None, 36, 65) 0 batch_normalization_9[0][0]
__________________________________________________________________________________________________
conv1d_2 (Conv1D) (None, 36, 65) 25415 max_pooling1d_1[0][0]
__________________________________________________________________________________________________
conv1d_10 (Conv1D) (None, 36, 65) 25415 max_pooling1d_9[0][0]
__________________________________________________________________________________________________
batch_normalization_2 (BatchNor (None, 36, 65) 260 conv1d_2[0][0]
__________________________________________________________________________________________________
batch_normalization_10 (BatchNo (None, 36, 65) 260 conv1d_10[0][0]
__________________________________________________________________________________________________
max_pooling1d_2 (MaxPooling1D) (None, 18, 65) 0 batch_normalization_2[0][0]
__________________________________________________________________________________________________
max_pooling1d_10 (MaxPooling1D) (None, 18, 65) 0 batch_normalization_10[0][0]
__________________________________________________________________________________________________
conv1d_3 (Conv1D) (None, 18, 65) 25415 max_pooling1d_2[0][0]
__________________________________________________________________________________________________
conv1d_11 (Conv1D) (None, 18, 65) 25415 max_pooling1d_10[0][0]
__________________________________________________________________________________________________
batch_normalization_3 (BatchNor (None, 18, 65) 260 conv1d_3[0][0]
__________________________________________________________________________________________________
batch_normalization_11 (BatchNo (None, 18, 65) 260 conv1d_11[0][0]
__________________________________________________________________________________________________
max_pooling1d_3 (MaxPooling1D) (None, 9, 65) 0 batch_normalization_3[0][0]
__________________________________________________________________________________________________
max_pooling1d_11 (MaxPooling1D) (None, 9, 65) 0 batch_normalization_11[0][0]
__________________________________________________________________________________________________
conv1d_4 (Conv1D) (None, 9, 65) 25415 max_pooling1d_3[0][0]
__________________________________________________________________________________________________
conv1d_12 (Conv1D) (None, 9, 65) 25415 max_pooling1d_11[0][0]
__________________________________________________________________________________________________
batch_normalization_4 (BatchNor (None, 9, 65) 260 conv1d_4[0][0]
__________________________________________________________________________________________________
batch_normalization_12 (BatchNo (None, 9, 65) 260 conv1d_12[0][0]
__________________________________________________________________________________________________
max_pooling1d_4 (MaxPooling1D) (None, 5, 65) 0 batch_normalization_4[0][0]
__________________________________________________________________________________________________
max_pooling1d_12 (MaxPooling1D) (None, 5, 65) 0 batch_normalization_12[0][0]
__________________________________________________________________________________________________
flatten_1 (Flatten) (None, 325) 0 max_pooling1d_4[0][0]
__________________________________________________________________________________________________
flatten_3 (Flatten) (None, 325) 0 max_pooling1d_12[0][0]
__________________________________________________________________________________________________
dense_1 (Dense) (None, 5) 1630 flatten_1[0][0]
__________________________________________________________________________________________________
dense_5 (Dense) (None, 5) 1630 flatten_3[0][0]
__________________________________________________________________________________________________
concatenate_7 (Concatenate) (None, 10) 0 dense_1[0][0]
dense_5[0][0]
__________________________________________________________________________________________________
dense_13 (Dense) (None, 65) 715 concatenate_7[0][0]
__________________________________________________________________________________________________
dropout_6 (Dropout) (None, 65) 0 dense_13[0][0]
__________________________________________________________________________________________________
dense_14 (Dense) (None, 5) 330 dropout_6[0][0]
==================================================================================================`
Total params: 159,785
Trainable params: 158,745
Non-trainable params: 1,040
错误是:
ValueError:检查输入时出错:预期 input_20 具有 3 个维度,但得到形状为 (100000, 5) 的数组