Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 具有keras的一维卷积网络,输入大小误差_Python 3.x_Keras_Conv Neural Network_Keras Layer - Fatal编程技术网

Python 3.x 具有keras的一维卷积网络,输入大小误差

Python 3.x 具有keras的一维卷积网络,输入大小误差,python-3.x,keras,conv-neural-network,keras-layer,Python 3.x,Keras,Conv Neural Network,Keras Layer,我正试图为我的数据集建立一个卷积神经网络。我的培训数据集有1209个示例,每个示例包含800个功能 下面是代码的一部分: model = Sequential() model.add(Conv1D(64, 3, activation='linear', input_shape=(1209, 800))) model.add(GlobalMaxPooling1D()) model.add(Dense(1, activation='linear')) model.compile(loss=loss_

我正试图为我的数据集建立一个卷积神经网络。我的培训数据集有1209个示例,每个示例包含800个功能

下面是代码的一部分:

model = Sequential()
model.add(Conv1D(64, 3, activation='linear', input_shape=(1209, 800)))
model.add(GlobalMaxPooling1D())
model.add(Dense(1, activation='linear'))
model.compile(loss=loss_type, optimizer=optimizer_type, metrics=[metrics_type])
model.fit(X, Y, validation_data=(X2,Y2),epochs = nb_epochs, 
batch_size = batch_size,shuffle=True)
编译此代码时,出现以下错误:

Error when checking input: expected conv1d_25_input to have 3 dimensions, 
but got array with shape (1209, 800)
所以我添加了一个维度,下面是我要做的:

X = np.expand_dims(X, axis=0)
X2 = np.expand_dims(X2, axis=0)
然后我得到这个错误:

ValueError: Input arrays should have the same number of samples as target arrays. 
Found 1 input samples and 1209 target samples.
我的训练数据现在有这样一个形状(1129800),是否应该是其他形状


非常感谢您阅读此文章。

您应该在轴2上展开尺寸,而不是在轴0处展开X上的尺寸。因此,您需要的不是
X=np.expand_dims(X,axis=0)
,而是
X=np.expand_dims(X,axis=2)


之后,
X
的形状应该是(1209800,1),然后您应该在第一层中指定
input\u shape=(800,1)

感谢您回答@blackHoleDetector。指定此输入形状时,出现以下错误:ValueError:输入0与层conv1d_27不兼容:预期ndim=3,发现ndim=2@VincentBrisse谢谢你的更新。我刚刚更新了我的答案。试试看。我相信这会让你工作。很高兴听到@VincentBrisse!我在YouTube上有几个Keras视频,你可能会发现它们很有用(几乎每天都会添加更多)。卷积神经网络和微调是下一个主题,如果您感兴趣,将发布。你的
Y.shape
是什么?@MarcinMożejko它是(1209,1),因为在我的数据集中有1209个示例,每个示例只有一个输出。我试着用Y=np来改变它。expand_-dims(Y,axis=0)Y2=np。expand_-dims(Y2,axis=0)但毫无帮助