pytorch bert to paddle 模型转化

问题描述

本地使用领域语料预训练Bert,将生成的pytorch_model.bin模型转化成paddle使用的model.pdparams模型。

过程

  1. pytorch > onnx

    准备库:pytorch要大于等于1.8.0

    pip install transformers[onnx]
    

    先将预训练模型保存成.pt格式

    from transformers import AutoTokenizer, AutoModelForSequenceClassification
    
    # Load tokenizer and PyTorch weights form the Hub
    tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")
    pt_model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased")
    # Save to disk
    tokenizer.save_pretrained("local-pt-checkpoint")
    pt_model.save_pretrained("local-pt-checkpoint")
    

    然后将local-pt-checkpoint文件夹内的模型转化成onnx,放入onnx文件夹

    python -m transformers.onnx --model=local-pt-checkpoint onnx/
    
  2. onnx > paddle

    准备库:

    pip install x2paddle
    conda install -c paddle paddlepaddle  sympy
    

    将onnx 转化成 paddle,存入pd_model中。

    x2paddle --framework=onnx --model=onnx/model.onnx --save_dir=pd_model
    

    附一张成功转化截图,标红位置为需要填的模型的输入形状和成功结果!
    在这里插入图片描述
    文件内容图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

祝您顺利!

参考

  1. https://huggingface.co/docs/transformers/serialization
  2. https://blog.csdn.net/qq_37541097/article/details/119906697
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值