首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微调输入大小较大的模型

微调输入大小较大的模型
EN

Stack Overflow用户
提问于 2019-01-05 00:26:35
回答 1查看 882关注 0票数 0

我在想,用更大的输入量对模型进行微调是否有意义?理想情况下,我希望拥有的属性:

  1. 微调:意思是通过预训练重复使用权重。
  2. 更大的输入尺寸:在模型中进料前不要向下取样.也许有更大的步幅?

具体来说,我正试图用特定的标签集对Keras中的InceptionV3进行微调。我想要更大的数据大小,因为我希望模型能够隐式地学习一些重要的字符。对于InceptionV3默认大小(299x299),这在我看来是不可能的。

但这听起来像是我必须改变我正在重复使用的特定模型(比如修改模型体系结构中的特定层),那么重复使用预先训练过的权重就没有意义了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-05 11:42:48

如果您想微调一个分类模型,通常您会删除几个顶层,作为分类器,并添加您自己的层。这与微调Inception_V3模型是一样的:您可以删除顶层,并使用所需的单元数(即数据集中的类数)添加您自己的分类器。例如:

代码语言:javascript
复制
from keras.applications.inception_v3 import InceptionV3

# let's say our images are of size (1000, 1000, 3)
inc_v3 = InceptionV3(include_top=False, input_shape=(1000, 1000, 3), pooling)

# add your desired layers to the top
# we only add one layer just for illustration
# but you can add as many layers as you want
out = Dense(num_classes, activation='softmax')(inc_v3.output)

# construct the new model
model = Model(inc_v3.input, out)

但是,请注意,您需要首先冻结所有基本层(即Inception_V3模型的层)以进行微调。此外,您也可以使用其他替代方案,而不是在顶部添加池层(即pooling='avg'),例如使用Flatten层。

此外,我建议您阅读相关的官方Keras教程:利用极少的数据建立强大的图像分类模型 (第二和第三部分主要与此相关)。

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

https://stackoverflow.com/questions/54047849

复制
相关文章

相似问题

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