【问题标题】:Preblem in shape of data with Conv1D in KerasKeras中Conv1D的数据形状问题
【发布时间】:2018-03-14 10:53:17
【问题描述】:

我正在学习Keras,我正在尝试根据信号的频率对其进行分类。

所以开始我的代码是这样的:

import numpy as np
from keras.models import Sequential
from keras.layers import Conv1D
from keras.layers import AveragePooling1D
from keras.layers import Dense
from keras.layers import Dropout

#DATA
time=np.arange(0,20,0.05)
signal=np.sin(time)
out=np.array([1,0,0])

#MODEL
model = Sequential()

model.add(Conv1D(4, 60, padding='same', activation='relu',input_shape=(400,1)))
model.add(AveragePooling1D(pool_size=5, strides=None, padding='valid'))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(3, activation='softmax'))

model.compile(loss='binary_crossentropy', optimizer='Adam', metrics=['accuracy'])

history = model.fit(signal, out)

我有这个错误。

builtins.ValueError: Error when checking input: expected conv1d_1_input to have 3 dimensions, but got array with shape (400, 1)

但我不明白问题出在哪里。

【问题讨论】:

    标签: python machine-learning neural-network keras conv-neural-network


    【解决方案1】:

    尝试像这样重塑您的数据:

    history = model.fit(signal.reshape(1,400,1), out.reshape(1,3))
    

    编辑

    model.fit() 需要输入和输出数组,而不是单个输入和输出。

    【讨论】:

    • 也许会增加答案,因为 model.fit() 需要输入和输出数组,而不是单个输入和输出。
    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 2023-03-12
    • 2019-09-21
    • 1970-01-01
    • 2019-05-29
    • 2017-11-17
    • 1970-01-01
    • 2017-09-09
    相关资源
    最近更新 更多