首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与DenseNet迁移学习不兼容的形状

与DenseNet迁移学习不兼容的形状
EN

Stack Overflow用户
提问于 2021-01-31 20:58:44
回答 1查看 90关注 0票数 0

我想用DenseNet做迁移学习,我找到了一个我想要解决的例子。

代码语言:javascript
复制
model_d=DenseNet121(weights='imagenet',include_top=False, 
input_shape=(224, 224, 3)) 

x=model_d.output

x= GlobalAveragePooling2D()(x)
x= BatchNormalization()(x)
x= Dropout(0.5)(x)
x= Dense(1024,activation='relu')(x) 
x= Dense(512,activation='relu')(x) 
x= BatchNormalization()(x)
x= Dropout(0.5)(x)

preds=Dense(7,activation='softmax')(x) 

model=Model(inputs=model_d.input,outputs=preds) 
model.summary()

因此,这是用这些层替换原始模型的输出。然而,当我尝试拟合模型时,我得到了一个不兼容的形状错误:

代码语言:javascript
复制
ValueError: Shapes (None, 1) and (None, 7) are incompatible

然而,看着模型摘要,我不知道这是什么原因。

EN

回答 1

Stack Overflow用户

发布于 2021-01-31 21:04:41

我认为在Softmax函数之后,你只有一个预测类,但preds=Dense(7,activation='softmax')(x)预计有7个预测类。如果您只预测一个类,那么更改number 7 to 1可能会解决您的问题。此外,您还应该将激活更改为sigmoid,否则具有1个带有softmax的神经元将始终输出1

请注意,这只是我的假设。

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

https://stackoverflow.com/questions/65979366

复制
相关文章

相似问题

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