You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DeepPavlov训练的ruBERT模型转换为HuggingFace格式?

将DeepPavlov微调的ruBERT转换为HuggingFace格式步骤

前提确认

先检查你的模型文件夹里是否包含以下核心文件:

  • bert_config.json(模型配置文件)
  • 权重文件:PyTorch格式为pytorch_model.bin,TensorFlow格式为tf_model.h5
  • vocab.txt(词表文件)

步骤1:统一配置文件命名

将bert_config.json复制一份并重命名为config.json,HuggingFace的AutoModel系列会优先读取这个标准命名的配置文件。

步骤2:转换权重格式(针对PyTorch权重)

如果你的模型是DeepPavlov基于PyTorch训练的(存在pytorch_model.bin),需要将其转换为TensorFlow兼容格式:

from transformers import BertConfig, BertForSequenceClassification, TFBertForSequenceClassification

# 加载PyTorch格式的微调模型
config = BertConfig.from_json_file("folder_with_ruBERT/config.json")
pytorch_model = BertForSequenceClassification.from_pretrained(
    "folder_with_ruBERT/pytorch_model.bin",
    config=config
)

# 转换为TensorFlow模型并保存到原文件夹
tf_model = TFBertForSequenceClassification.from_pretrained(
    pretrained_model_name_or_path=None,
    config=config,
    from_pt=True,
    state_dict=pytorch_model.state_dict()
)
tf_model.save_pretrained("folder_with_ruBERT")

执行后,文件夹内会生成tensorflow_model.h5和saved_model/目录,满足TFAutoModel的加载要求。

步骤3:配置Tokenizer

在模型文件夹中创建tokenizer_config.json文件,内容如下:

{
  "do_lower_case": false,
  "model_max_length": 512,
  "tokenizer_class": "BertTokenizer"
}

确保vocab.txt保留在文件夹内,AutoTokenizer会自动识别并加载这个词表文件。

步骤4:验证加载

现在可以用你提供的代码测试加载是否成功:

from transformers import TFAutoModelForSequenceClassification, AutoTokenizer

model_name = "folder_with_ruBERT"
auto_model_rubert = TFAutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name, do_lower_case=False)

内容的提问来源于stack exchange,提问作者senek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:40:52