ImportError:无法从“变压器”导入名称“AutoModelWithLMHead”
Posted
技术标签:
【中文标题】ImportError:无法从“变压器”导入名称“AutoModelWithLMHead”【英文标题】:ImportError: cannot import name 'AutoModelWithLMHead' from 'transformers' 【发布时间】:2020-11-18 07:34:30 【问题描述】:这实际上是我要运行的所有代码:
from transformers import AutoModelWithLMHead, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-small")
model = AutoModelWithLMHead.from_pretrained("microsoft/DialoGPT-small")
我收到此错误:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-14-aad2e7a08a74> in <module>
----> 1 from transformers import AutoModelWithLMHead, AutoTokenizer
2 import torch
3
4 tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-small")
5 model = AutoModelWithLMHead.from_pretrained("microsoft/DialoGPT-small")
ImportError: cannot import name 'AutoModelWithLMHead' from 'transformers' (c:\python38\lib\site-packages\transformers\__init__.py)
我该怎么办?
【问题讨论】:
您是否尝试过从转换器库中导入其他内容? 你用的是什么版本的转换器? @cronoik 我用的是最新的。变压器-3.0.2 @A.T.B 导入 AutoTokenizer 工作正常... 我无法重现这个。请运行import transformers
和transformers.__version__
以确保您确实在使用3.0.2
。你是怎么安装的?
【参考方案1】:
我解决了!显然 AutoModelWithLMHead 在我的版本中被删除了。
现在您需要将AutoModelForCausalLM
用于因果语言模型,AutoModelForMaskedLM
用于掩码语言模型,AutoModelForSeq2SeqLM
用于编码器-解码器模型。
所以在我的例子中,代码如下所示:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-small")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-small")
【讨论】:
以上是关于ImportError:无法从“变压器”导入名称“AutoModelWithLMHead”的主要内容,如果未能解决你的问题,请参考以下文章
无法从“变压器”导入名称“TFBertForQuestionAnswering”
ImportError:无法从“flask”导入名称“request”
ImportError:无法从“类型”导入名称“IntType”
python aiorpc:“ImportError:无法从'aiorpc.server'导入名称'RPCServer'”