首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一维卷积神经网络输入形状问题

一维卷积神经网络输入形状问题
EN

Stack Overflow用户
提问于 2021-07-04 22:55:17
回答 1查看 35关注 0票数 0

我正在尝试为数值数据集构建一维CNN。我的数据集有520行和13个特征。下面是代码。

它给出"ValueError: sequential_21层的Input 0与layer::expected min_ndim=3不兼容,找到ndim=2。收到完整形状:(1,13)“错误。

我需要如何设置输入形状,或者我必须重塑X_train?任何帮助都是非常感谢的。

代码语言:javascript
复制
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20)
n_features = 13
model = Sequential()
model.add(Conv1D(filters=1, kernel_size=1, activation='relu', input_shape=(1, n_features)))
model.add(Conv1D(filters=1, kernel_size=1, activation='relu'))
model.add(Dropout(0.5))
model.add(MaxPooling1D(pool_size=1))
model.add(Flatten())
model.add(Dense(100, activation='relu'))
model.add(Dense(2, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=20, batch_size=1)
yhat_classes = model.predict_classes(testX, verbose=0)
EN

回答 1

Stack Overflow用户

发布于 2021-07-05 00:16:33

问题在于,对numpy数据集进行批处理会产生行。现在您使用batch size 1,所以生成器生成1行,生成一个shape (1, n_features)数组,但是您想要shape (batch_size, 1, n_features)

在分割数据集之前将维度添加到数据集应该可以解决此问题

代码语言:javascript
复制
X = X.reshape(-1, 1, n_features)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68245936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档