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

在Google Colab中导入ESMForMaskedLM报错的技术求助

解决transformers库无法导入ESMForMaskedLM的问题

问题描述

在Google Colab中使用FASTA序列微调Facebook的ESM Transformer模型时,运行代码出现以下错误:
ImportError: cannot import name 'ESMForMaskedLM' from 'transformers'
已参考Hugging Face官方文档,但问题仍未解决。

原代码如下:

!pip install transformers
from transformers import ESMForMaskedLM, ESMTokenizer, pipeline
tokenizer = ESMTokenizer.from_pretrained("facebook/esm-1b", do_lower_case=False)
model = ESMForMaskedLM.from_pretrained("facebook/esm-1b")
unmasker = pipeline('fill-mask', model=model, tokenizer=tokenizer)
unmasker('QERLKSIVRILE<mask>SLGYNIVAT')

解决方案

  • 升级transformers到最新版本:Colab默认预装的transformers版本可能较旧,ESM相关类是在较新版本中才被加入主导入路径的,执行以下命令替换原安装命令:
    !pip install --upgrade transformers
    
  • 指定子模块导入:如果升级后仍无法导入,可直接从ESM子模块导入类,规避版本兼容问题:
    from transformers.models.esm import ESMForMaskedLM, ESMTokenizer
    
  • 检查核心依赖:确保torch等核心依赖为最新版本,可一并升级:
    !pip install --upgrade torch transformers
    

修正后的代码示例

!pip install --upgrade transformers
from transformers import ESMForMaskedLM, ESMTokenizer, pipeline

tokenizer = ESMTokenizer.from_pretrained("facebook/esm-1b", do_lower_case=False)
model = ESMForMaskedLM.from_pretrained("facebook/esm-1b")
unmasker = pipeline('fill-mask', model=model, tokenizer=tokenizer)
unmasker('QERLKSIVRILE<mask>SLGYNIVAT')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 12:21:31