【发布时间】:2019-08-28 19:49:24
【问题描述】:
我的代码中的每一层都显示它需要一个数组形状,但接收到的形状与输入数组维度相同
我在第一个 maxpooling 层之后发表了评论,只是为了提示错误。如果你看一下错误,它预计是 (16, 64, 64, 64) 但说它收到了 (16, 128, 128, 1) 这恰好是我的输入数组。
model = Sequential()
model.add(Conv3D(64,3,activation= 'relu',padding='same',input_shape=(16, 128, 128 ,1)))
model.add(MaxPooling3D(pool_size=(1,2,2),strides= (1, 2, 2)))
#model.add(Conv3D(128,3,activation= 'relu',padding="same"))
#model.add(MaxPooling3D(pool_size=(2,2,2),strides= (2, 2, 2)))
#model.add(Conv3D(256,3,activation= 'relu',padding="same"))
#model.add(Conv3D(256,3,activation= 'relu',padding="same"))
#model.add(MaxPooling3D(pool_size=(2,2,2),strides= (2, 2, 2)))
#model.add(Conv3D(512,3,activation= 'relu',padding="same"))
#model.add(Conv3D(512,3,activation= 'relu',padding="same"))
#model.add(MaxPooling3D(pool_size=(2,2,2),strides= (2, 2, 2)))
#model.add(Conv3D(512,3,activation= 'relu',padding="same"))
#model.add(Conv3D(512,3,activation= 'relu',padding="same"))
#model.add(MaxPooling3D(pool_size=(2,2,2),strides= (2, 2, 2)))
#model.add(Dense(output_dim= 4096,activation= 'linear' ))
#model.add(Dense(output_dim= 4096,activation= 'softmax' ))
我收到的错误是
str(data_shape))
ValueError: 检查目标时出错:预期 max_pooling3d_4 的形状为 (16, 64, 64, 64) 但得到的数组的形状为 (16, 128, 128, 1)
为什么会这样?感谢您的回复。
【问题讨论】:
标签: python machine-learning keras deep-learning conv-neural-network