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

加载预训练Tokenizer与Seq2Seq模型报错:重复文件名sentencepiece_model.proto

解决protobuf重复文件(sentencepiece_model.proto)错误的方案

以下是针对加载ozcangundes/mt5-small-turkish-summarization模型时出现的duplicate file name (sentencepiece_model.proto)错误的可行解决方法:

  • 清理重复的proto文件
    检查Python环境的site-packages目录,查找是否存在多份sentencepiece_model.proto文件(可能同时存在于sentencepiece包和transformers相关的依赖目录中)。删除重复的文件,建议保留sentencepiece官方包目录下的那份。

  • 手动重置protobuf描述符池
    在加载模型前替换默认的protobuf描述符池,避免重复注册:

    from google.protobuf.descriptor_pool import DescriptorPool
    import google.protobuf.message
    
    # 临时替换默认描述符池
    original_pool = google.protobuf.message._message.default_pool
    google.protobuf.message._message.default_pool = DescriptorPool()
    
    # 加载tokenizer和模型
    from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
    tokenizer = AutoTokenizer.from_pretrained("ozcangundes/mt5-small-turkish-summarization")
    model = AutoModelForSeq2SeqLM.from_pretrained("ozcangundes/mt5-small-turkish-summarization")
    
    # 恢复原描述符池(如需后续使用其他protobuf相关功能)
    google.protobuf.message._message.default_pool = original_pool
    
  • 重装兼容版本的依赖
    完全卸载冲突的依赖后,安装经过验证的兼容版本组合:

    pip uninstall -y protobuf sentencepiece transformers
    pip install protobuf==3.20.3 sentencepiece==0.1.99 transformers==4.30.2
    
  • 使用虚拟环境隔离依赖
    创建全新虚拟环境,避免全局环境的依赖冲突:

    # 创建虚拟环境
    python -m venv mt5_env
    # Linux/macOS激活环境
    source mt5_env/bin/activate
    # Windows激活环境
    # mt5_env\Scripts\activate
    # 安装所需依赖
    pip install transformers sentencepiece protobuf
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 04:25:41