繁体   English   中英

ValueError:检查输入时出错:预期conv2d_79_input具有4个维,但数组的形状为(99,4457,4)

[英]ValueError: Error when checking input: expected conv2d_79_input to have 4 dimensions, but got array with shape (99, 4457, 4)

这是使用一种热编码的RNA序列的二进制分类CNN模型。 数据集已经是一种热编码,我的X形状是(99,4457,4)

我尝试使用以下方法增加尺寸:

arr4d = np.expand_dims(X, 0)

这给了我以下形状:(1,99,4457,4)

但是后来我收到另一个错误:

ValueError:检查目标时出错:预期density_64的形状为(4,),但数组的形状为(1,)

我也尝试了其他几种方法,但是我只是做的不正确。 任何帮助深表感谢。

X = np.reshape(X2, (X2.shape[0],maximum,4))


# In[62]:


def build_cnn():

    model = Sequential()

    # Multiple convolution operations to detect features in the images
    model.add(Conv2D(32,kernel_size=3,activation='relu',input_shape=(99,4457,4)))
    model.add(BatchNormalization())
    model.add(Conv2D(32,kernel_size=3,activation='relu')) # no need to specify shape as there is a layer before
    model.add(BatchNormalization())
    model.add(Conv2D(32,kernel_size=5,strides=2,padding='same',activation='relu'))
    model.add(BatchNormalization())
    model.add(Dropout(0.4)) # reduce overfitting

    model.add(Conv2D(64,kernel_size=3,activation='relu'))
    model.add(BatchNormalization())
    model.add(Conv2D(64,kernel_size=3,activation='relu'))
    model.add(BatchNormalization())
    model.add(Conv2D(64,kernel_size=5,strides=2,padding='same',activation='relu'))
    model.add(BatchNormalization())
    model.add(Dropout(0.4)) # reduce overfitting

    # Flattening and classification by standard ANN
    model.add(Flatten())
    model.add(Dense(4, activation='relu'))
    model.add(BatchNormalization())
    model.add(Dropout(0.4))
    model.add(Dense(4, activation='softmax'))

    model.compile(loss='categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

    return model


# In[63]:


model = build_cnn()
model.fit(X, y, batch_size=64, epochs=16)

这给了我以下形状:(1、99、4457、4)这绝对是错误的形状。 图像通常具有(batch_size,通道,高度,宽度)。 在用kernel_size = 3卷积后,什么是3x3映射,形状将是(1,32,4457-2,4-2),并且无法在下一个conv2d中处理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM