我正在尝试使用 Keras ResNet50 实现来训练二进制图像分类模型。
我想在不使用迁移学习的情况下测试模型,但是当我尝试使用带有 sigmoid 激活的简单密集层进行二元分类来更改输出层时,我得到了有关形状大小的错误。
我的代码是这样的:
baseModel= ResNet50(weights=None, include_top=False, classes=2, pooling=max) output = baseModel.output output = layers.Dense(1, activation='sigmoid')(output) model = keras.models.Model(inputs=baseModel.input, outputs=output) model.compile(optimizer=Adam(learning_rate=0.0001), loss='binary_crossentropy', metrics=['accuracy'])
这样做我得到了这个错误:
ValueError: logits and labels must have the same shape ((None, 7, 7, 1) vs (None, 1))
如果我在致密层之前添加一个扁平层,我会得到:
ValueError: The last dimension of the inputs to `Dense` should be defined. Found `None`.
我在这里缺少什么?我如何改变密集层的输入形状?
拉莫斯之舞
相关分类