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

运行BERT文本嵌入代码时DistilBertTokenizer对象不可调用报错求助

报错原因与解决方案

核心原因

你当前Conda环境中的transformers库版本与代码写法不兼容,安装torchvision、PIL时触发的依赖自动调整大概率将transformers降级到了不支持直接调用分词器实例的旧版本。

解决步骤

  • 先确认当前transformers版本,在环境终端执行命令:
    pip show transformers
    
    若版本低于4.0.0即可确定为版本兼容问题。
  • 升级到适配版本,执行命令:
    pip install transformers>=4.10.0
    
    Conda环境也可使用对应安装命令:
    conda install -c huggingface transformers
    
  • 若暂时无法升级库,可直接替换报错行写法兼容旧版本,两种写法二选一即可:
    # 写法1:显式调用__call__方法
    inputs = text_tokenizer.__call__(sentences, return_tensors="pt", padding=True)
    # 写法2:使用全版本兼容的batch_encode_plus方法
    inputs = text_tokenizer.batch_encode_plus(sentences, return_tensors="pt", padding=True, truncation=True)
    
  • 若上述操作后仍报错,排查代码中是否存在变量名冲突,检查是否有其他位置定义了同名text_tokenizer变量覆盖了分词器实例,或是导入了其他同名类产生冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:36:01