【发布时间】:2019-04-27 03:37:24
【问题描述】:
我收到此错误:
ValueError:检查输入时出错:预期序列具有 3 个维度,但得到的数组形状为 (500, 400)
这些是我正在使用的以下代码。
print(X1_Train.shape)
print(X2_Train.shape)
print(y_train.shape)
输出(这里我每行有 500 行):
(500, 400)
(500, 1500)
(500,)
400 => timesteps (below)
1500 => n (below)
代码:
timesteps = 50 * 8
n = 50 * 30
def createClassifier():
sequence = Input(shape=(timesteps, 1), name='Sequence')
features = Input(shape=(n,), name='Features')
conv = Sequential()
conv.add(Conv1D(10, 5, activation='relu', input_shape=(timesteps, 1)))
conv.add(Conv1D(10, 5, activation='relu'))
conv.add(MaxPool1D(2))
conv.add(Dropout(0.5))
conv.add(Conv1D(5, 6, activation='relu'))
conv.add(Conv1D(5, 6, activation='relu'))
conv.add(MaxPool1D(2))
conv.add(Dropout(0.5))
conv.add(Flatten())
part1 = conv(sequence)
merged = concatenate([part1, features])
final = Dense(512, activation='relu')(merged)
final = Dropout(0.5)(final)
final = Dense(num_class, activation='softmax')(final)
model = Model(inputs=[sequence, features], outputs=[final])
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
return model
model = createClassifier()
# print(model.summary())
history = model.fit([X1_Train, X2_Train], y_train, epochs =5)
有什么见解吗?
【问题讨论】:
标签: python machine-learning keras conv-neural-network