修改模型后加载预训练权重,提示缺少参数

代码版本: brightmart/albert_zh

修改modeling.pyBertModel类,在pooler层后添加卷积层。
运行run_pretraining.py文件,读取albert_tiny_zh的预训练权重继续训练,运行失败,提示下面这段话,意思是缺少某些预训练权重,也就是需要我所添加的层在ckpt文件中存在。

tensorflow.python.framework.errors_impl.NotFoundError: Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint.

尝试为原始ckpt文件添加新权重,未找到现成可运行代码或操作提示,GPT提供的代码也是各种报错,未成功。

此时,运行run_classifier.py文件,调用修改过的modeling.py,获得新的ckpt权重文件,再去运行run_pretraining.py文件就可以了。

run_classifier.py文件用来对下游任务进行微调run_pretraining.py文件用来进行预训练,只需要先微调得到完整的权重就可以来预训练啦,不太明白微调怎么不用ckpt文件包含全部参数,但是预训练需要所有参数,不合理但可行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值