pytorch加载部分模型和参数

本文介绍如何在PyTorch中从一个训练好的seq2seq网络中提取encoder部分,并将其参数复制到新的仅包含Linear层的decoder网络。步骤包括保存预训练权重、新建网络模型代码以及检查复制是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候任务需要,想从一个训练好的网络里提取部分网络和参数做为自己的网络,本文将教你如何用pytorch实现。
首先看一下训练好的网络结构:
在这里插入图片描述
这是一个seq2seq网络,包含encoder和decoder两部分,每一部分都包含一个embedding层、一个LSTM层和一个Dropout层,decoder网络还有一个Linear层。
然后看一下新的网络结构:
在这里插入图片描述
同样是一个seq2seq的结构,区别是decoder网络里面只保留了一个Linear层,其他层都删掉了。那么怎么将训练好的网络参数复制过来呢?

1、保存预训练好的网络参数
torch.save(model.state_dict(), 'net-1.pth'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值