首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OpenNMT进行迁移学习

使用OpenNMT进行迁移学习
EN

Stack Overflow用户
提问于 2019-05-02 22:04:23
回答 1查看 375关注 0票数 0

我正在使用OpenNMT-py对MIDI音乐文件训练一个转换器模型,但结果很差,因为我只能访问与我想要研究的风格相关的一个小数据集。为了帮助模型学习一些有用的东西,我想使用一个更大的其他音乐风格的数据集进行预训练,然后使用小数据集对结果进行微调。

我想在预训练后冻结变压器的编码器一侧,让解码器部分自由进行微调。如何使用OpenNMT-py做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2019-05-04 06:28:07

请更具体地说明你的问题,并展示一些代码,这些代码将帮助你从SO社区获得富有成效的回应。

如果我处在你的位置,想要冻结一个神经网络组件,我会简单地这样做:

代码语言:javascript
复制
for name, param in self.encoder.named_parameters():
    param.requires_grad = False

在这里,我假设您有一个如下所示的NN模块。

代码语言:javascript
复制
class Net(nn.Module):
    def __init__(self, params):
        super(Net, self).__init__()

        self.encoder = TransformerEncoder(num_layers,
                                        d_model, 
                                        heads, 
                                        d_ff, 
                                        dropout, 
                                        embeddings,
                                        max_relative_positions)

    def foward(self):
        # write your code
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55954232

复制
相关文章

相似问题

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