【发布时间】:2020-10-11 17:56:40
【问题描述】:
我正在尝试按照here 提供的说明来训练二元分类器并将其用于对新图像进行预测。据我所知,二元分类器模型的末尾通常需要一个 Sigmoid 激活函数来将输出限制在 0 和 1 之间的范围内,但是这个模型没有任何 Softmax 或 Sigmoid 函数:
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Flatten(),
Dense(512, activation='relu'),
Dense(1)
])
当我使用 model.predict() 命令对新图像进行预测时,模型会返回不限于任何范围的正值和负值,我不知道如何解释它们。
我还尝试在最后一个 Dense 层中添加一个 sigmoid 激活函数,Dense(1, activation='sigmoid',但是这个动作大大降低了准确性。
谁能帮我理解模型的输出?
【问题讨论】:
标签: python tensorflow keras conv-neural-network