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

加载HuggingFace Transformer文本分类模型时遇AttributeError问题求助

解决加载自定义训练Transformer分类模型时的AttributeError错误

问题场景

使用aubmindlab/bert-base-arabertv02训练问题答案类别分类模型后,执行加载代码时:

  1. 首先触发OSError,提示目标目录中找不到pytorch_model.bin等模型权重文件
  2. 错误将目录中的training_args.bin重命名为pytorch_model.bin后,出现新错误:
    AttributeError: 'TrainingArguments' object has no attribute 'keys'
    

根本原因

training_args.bin是Hugging Face Trainer API保存的训练参数配置文件,并非模型权重文件。强行将其重命名为模型权重文件名后,AutoModelForSequenceClassification会尝试把它当作模型权重加载,自然会触发属性错误。

正确解决步骤

  1. 恢复文件命名:将被重命名的pytorch_model.bin改回原名称training_args.bin
  2. 定位真实模型权重目录:
    • 使用Trainer API训练时,模型权重默认保存在训练输出目录下的checkpoint-xxx子文件夹中(比如checkpoint-500、checkpoint-1000,数字对应训练步数)
    • 如果训练时设置了保存最佳模型(如metric_for_best_model参数),可查找带有best_model标识的文件夹,或选择最后生成的checkpoint文件夹
  3. 修正模型加载路径:将from_pretrained的路径指向包含pytorch_model.bin的子目录,示例代码:
    from transformers import pipeline, AutoModelForSequenceClassification, AutoTokenizer
    
    model_name = 'aubmindlab/bert-base-arabertv02'
    # 替换为你的checkpoint子目录路径
    arabert_model = AutoModelForSequenceClassification.from_pretrained('/gdrive/MyDrive/LabelModel/checkpoint-1000')
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    
    text = "أين وقعت غزوة بدر؟"
    pipe = pipeline(model=arabert_model, tokenizer=tokenizer)
    print(pipe(text))
    
  4. 验证文件完整性:确保目标加载目录包含以下必要文件:
    • pytorch_model.bin(核心模型权重)
    • config.json(模型配置信息)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:25:36