首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增加层的大小,同时保持旧的重量冻结

增加层的大小,同时保持旧的重量冻结
EN

Stack Overflow用户
提问于 2020-08-02 07:53:56
回答 1查看 80关注 0票数 0

我现在正在尝试实现以下过程:首先,我有一个训练有素的自动编码器,然后我正在考虑增加瓶颈层的大小(增加该层中“神经元”的数量)。然后,我想训练增加的模型作为一个整体,同时保持与旧层对应的重量冻结。总体思路是,以MNIST为例,这些新神经元将输出哪些特征(这些神经元将为原始输出添加哪些细节)?我的想法是,首先,我们训练一个正常的自动编码器,然后我可以建立相同的模型,除了瓶颈层的大小增加。然后,我把重量加载到这个新模型,并保持他们的固定。但我遇到了两个问题:

  1. 如何加载只需要新权重向量一部分的权重(由于旧的瓶颈大小小于新的瓶颈大小)?
  2. 如何保持部分权重不变?以keras为例,它只允许整个层不可调(设置为training=false).

)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-28 10:47:56

正如我从您的问题中了解到的,您正在试图增加图层中的特征映射大小或输出大小。这可以通过在每个层添加一个不同的管道并在操作后连接两个输出来实现。例如

最初,您的层是conv2d(output_layers = a)。所以流是层-1-1- conv2d

然后,如果您想最终拥有a+b层,那么可以从layer-1的输出中将conv2d(output_layers = b)添加到代码中。因此,输出将是'b‘特征大小从这个新的卷积和'a’从初始值。两者都可以连在一起,以获得“a+b”大小。流程如下--1

通过这种方式,您可以轻松地加载权重,也可以理解培训后新层试图预测的是什么。

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

https://stackoverflow.com/questions/63213666

复制
相关文章

相似问题

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