首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras密集输出不是从0到1

Keras密集输出不是从0到1
EN

Stack Overflow用户
提问于 2020-05-01 19:28:40
回答 1查看 208关注 0票数 0

很抱歉问了这么愚蠢的问题。我曾尝试运行Tensorflow (https://www.tensorflow.org/tutorials/images/classification)的图像分类教程,在对网络进行训练后,我尝试进行预测。

根据在线指南,我发现我必须将最后一层的Dense(1)修改为Dense(1, activation= 'sigmoid'),但结果不是从0到1,而是几千个,有正有负。

我哪里错了?

谢谢。

编辑:这是我正在尝试训练的模型

代码语言:javascript
复制
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, activation = 'sigmoid')
])

这是一个预测的结果:

代码语言:javascript
复制
img = Image.open("D:\\Downloads\\mask-datasets-v1\\Mask_Datasets\\Train\\Mask\\1.PNG").convert('RGB').resize(size=(IMG_HEIGHT,IMG_WIDTH))
img_array = (np.expand_dims(img,0))
img_array.shape
model.predict(img_array)
代码语言:javascript
复制
array([[-4602.1157]], dtype=float32)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-01 20:00:11

当运行带有示例图像的代码时,我得到了正确的结果-就像我期望在输出层中有一个sigmoid激活一样。

你忘记编译你的模型了吗?https://keras.io/models/model/#compile

因此,您的模型可能仍在预测您的模型的弃用版本,该模型在其输出层还没有sigmoid激活。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61541617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档