【问题标题】:Wrong number of dimensions. Keras维数错误。喀拉斯
【发布时间】:2018-01-22 17:25:04
【问题描述】:

我无法掌握输入到网络第一层的形状。这是我的架构:

    # Model Hyperparameters
    filter_sizes = [1, 2, 3, 4, 5]
    num_filters = 10
    dropout_prob = [0.5, 0.8]
    hidden_dims = 50

    model_input = Input(shape=(X.shape[0], X.shape[1]))
    z = model_input
    z = Dropout(0.5)(z)

    # Convolutional block
    conv_blocks = []
    for fz in filter_sizes:
        conv = Convolution1D(filters=num_filters,
                             kernel_size=fz,
                             padding="valid",
                             activation="relu",
                             strides=1)(z)
        conv = MaxPooling1D(pool_size=2)(conv)
        conv = Flatten()(conv)
        conv_blocks.append(conv)

    z = Concatenate()(conv_blocks) if len(conv_blocks) > 1 else conv_blocks[0]

    z = Dropout(dropout_prob[1])(z)
    z = Dense(hidden_dims, activation="relu")(z)
    model_output = Dense(3, activation="softmax")(z)

    model = Model(model_input, model_output)
    model.fit(X[train], to_categorical(y[train], num_classes=3))



ValueError: Error when checking input: expected input_1 to have 3 dimensions, but got array with shape (12547, 261)

这是我的数据的样子:

array([[ 1,  2,  3, ...,  0,  0,  0],
       [ 5,  6,  7, ...,  0,  0,  0],
       [15, 10,  4, ...,  0,  0,  0],
       ...,
       [ 5,  6,  8, ...,  0,  0,  0],
       [11, 10, 14, ...,  0,  0,  0],
       [14,  8,  8, ...,  0,  0,  0]])

我有 261 个维度的 14640 个样本

【问题讨论】:

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


    【解决方案1】:

    正如错误所说,这是一个整形问题,您提供的输入形状 (model_input) 应该与您在 model.fit 中提供的数据的输入形状相匹配

    使用以下方法重新检查您的形状: from keras import backend as K K.shape(input _tensor) 如果是张量 或者 np.shape() 如果它是一个 numpy 数组。 此外,如果形状不匹配(并且它们不会)使用该功能 K.重塑 更多帮助请参见 keras/backend API

    【讨论】:

      【解决方案2】:

      根据 Keras documentation,Convolution1D 层接受 3D 张量作为其输入。您需要在输入数据中提供 step 作为额外维度。 您可以查看此link 以获取更多信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-26
        • 1970-01-01
        • 2017-12-14
        • 1970-01-01
        • 1970-01-01
        • 2020-02-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多