【问题标题】:Error when checking input: expected acc_input to have 4 dimensions, but got array with shape (200, 3, 1)检查输入时出错:预期 acc_input 有 4 个维度,但得到了形状为 (200, 3, 1) 的数组
【发布时间】:2017-08-19 05:35:19
【问题描述】:

我试了很多次,看了和我类似的问题的答案,还是没解决。

检查输入时出错:预期 acc_input 有 4 个维度,但得到了形状为 (200, 3, 1) 的数组

model.fit(x=[acc_,gyro_],y=[scaled_labels],batch_size=1,validation_split=0.2, epochs=2,verbose=1,shuffle=False)

我的网络的第一层是输入层

acc_input_tensor = Input(shape=(200,3,1),name = 'acc_input')
gyro_input_tensor = Input(shape=(200,3,1),name= 'gyro_input')

输入是加速度和陀螺仪数据。 200指200组数据,3指加速度x,y,z的测量值。我把加速度数据和陀螺数据reshape成(200 * 3 * 1)

acc_ = np.reshape(acc,(200,3,1))
gyro_ = np.reshape(gyro,(200,3,1))

输入的是三维数据,给定的数据输入是三维的,为什么会有四维的要求?如何修改?

This is the model I created

【问题讨论】:

    标签: arrays deep-learning keras keras-layer keras-2


    【解决方案1】:

    不确定您使用的是什么类型的网络,但@9​​87654321@ 不包括数据长度。应该是这样的

    acc_input_tensor = Input(shape=(3,1),name = 'acc_input')
    gyro_input_tensor = Input(shape=(3,1),name= 'gyro_input')
    

    【讨论】:

    • 谢谢你的回答!我用一个周期内的加速度数据作为输入(200*3),acc_input_tensor = Input(shape=(200,3),name = 'acc_input') gyro_input_tensor = Input(shape=(200,3),name= 'gyro_input') 这个还是错误修改
    • 我在说(200 * 3) reshape成(20 * 30*1)进卷积层,卷积层需要3维数据
    • 卷积的输入形状取决于您使用的卷积层类型,但无论如何shape=() 不采用第一维的大小,仅采用第二、第三、第四维的大小。 ..等等。
    猜你喜欢
    • 2021-03-30
    • 2019-11-11
    • 2022-01-15
    • 2023-03-04
    • 2018-01-09
    • 2020-06-06
    • 2021-11-24
    • 2018-11-09
    • 2019-09-03
    相关资源
    最近更新 更多