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

如何结合Huggingface Pipeline使用Adapter Transformers并解决加载问题

解决AdapterHub模型加载失败的问题

问题根源

你要加载的AdapterHub/bert-base-uncased-pf-conll2003是Adapter适配模块,不是完整的预训练模型。这类模块仅包含任务适配的权重和配置,没有基础BERT模型的完整文件,所以直接用pipeline指定该ID会找不到config.json。另外你安装时的依赖冲突也可能加剧加载问题,先处理依赖。

步骤1:修复依赖冲突

卸载冲突包,重新安装兼容版本的adapter-transformers(它会自动匹配对应依赖):

pip uninstall -y transformers huggingface-hub tokenizers adapter-transformers
pip install adapter-transformers==3.2.1.post0

步骤2:正确加载Adapter与模型

需要先加载基础BERT模型,再挂载对应的Adapter模块,代码如下:

from transformers import AutoModelWithHeads, AutoTokenizer
from transformers import pipeline

# 加载基础预训练模型和分词器
model = AutoModelWithHeads.from_pretrained("bert-base-uncased")
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")

# 加载并激活Adapter
model.load_adapter("AdapterHub/bert-base-uncased-pf-conll2003", source="hf", set_active=True)

# 初始化token分类pipeline
token_classification = pipeline(
    "token-classification",
    model=model,
    tokenizer=tokenizer,
    aggregation_strategy="simple"  # 可选,合并子词预测结果,提升可读性
)

# 测试推理
res = token_classification("Take out the trash bag from the bin and replace it.")
print(res)

核心说明

  • AutoModelWithHeads是adapter-transformers专属类,支持加载和管理多个Adapter模块
  • load_adapter从Hugging Face Hub拉取指定Adapter,set_active=True让模型直接使用该Adapter进行任务推理
  • 如果需要处理子词拆分的问题,aggregation_strategy参数可以合并同属一个单词的子词预测结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 04:10:17