【发布时间】:2021-12-15 18:56:26
【问题描述】:
我正在构建这个 CNN 模型, '''
x_test = np.array(x_test).reshape(-1,IMAGE_SIZE,IMAGE_SIZE,1)
x_train = np.array(x_train).reshape(-1,IMAGE_SIZE,IMAGE_SIZE,1)
model = tf.keras.Sequential()
model.add(Conv2D(16,(3,3),padding='same',input_shape=x_train.shape[1:]))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(32,(3,3),strides=(2,2),padding='valid'))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(32,(2,2),padding='same'))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(64,(2,2),strides=(2,2),padding='valid'))
model.add(Activation("relu"))
model.add(GlobalAveragePooling2D())
model.add(Dense(64))
model.add(Activation("relu"))
model.add(Dense(10))
model.add(Activation("softmax"))
'''
但这给了我一个错误:- InvalidArgumentError: '{{node conv2d_115/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings=[] 从 1 中减去 2 导致的负维度大小, padding="VALID", strides=[1, 2, 2, 1], use_cudnn_on_gpu=true](Placeholder, conv2d_115/Conv2D/ReadVariableOp)' 输入形状:[?,1,1,32], [2, 2,32,64]。
在处理上述异常的过程中,又发生了一个异常:
ValueError: '{{node conv2d_115/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings 从 1 中减去 2 导致的负维度大小=[], padding="VALID", strides=[1, 2, 2, 1], use_cudnn_on_gpu=true](Placeholder, conv2d_115/Conv2D/ReadVariableOp)' 输入形状:[?,1,1,32], [2,2,32,64]。
这个错误是什么意思?我做错了什么?请帮我解决这个问题。
【问题讨论】:
标签: python tensorflow keras conv-neural-network