【问题标题】:ImportError: cannot import name 'AutoModelWithLMHead' from 'transformers'ImportError:无法从“变压器”导入名称“AutoModelWithLMHead”
【发布时间】: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 transformerstransformers.__version__ 以确保您确实在使用3.0.2。你是怎么安装的?

标签: python pytorch huggingface-transformers


【解决方案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")

【讨论】:

    猜你喜欢
    • 2021-01-14
    • 2022-06-24
    • 2021-06-13
    • 2021-06-09
    • 2020-11-04
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多