【问题标题】:`Highway.forward: input must be present` in ELMo embedding?ELMo嵌入中的“Highway.forward:输入必须存在”?
【发布时间】:2021-07-24 15:50:14
【问题描述】:

我将Elmo Embeddings 用于我的 NLP 任务。 pretrain 是来自this git 的印度尼西亚语。使用语法导入库

from elmoformanylangs import Embedder

导致以下错误:

TypeError: Highway.forward: input must be present

请帮助我理解错误消息的含义。

【问题讨论】:

    标签: python nlp embedding word-embedding elmo


    【解决方案1】:

    这样做:

    pip uninstall overrides
    pip install overrides==3.1.0
    

    【讨论】:

      【解决方案2】:

      不确定这是否有帮助,但这是指torch.nn.Module 中未实现的超类方法(转发)。此类具有以下定义。

      forward: Callable[..., Any] = _forward_unimplemented

      如果你向下滚动一点,你会看到 _forward_unimplemented 的定义:

      def _forward_unimplemented(self, *input: Any) -> None:
      

      Highway forward 定义也必须匹配此签名,因此您也需要一个 *input 参数。 我的匈牙利语版本使用以下签名和第一行,这可能对您也有帮助。

          def forward(self, *input: torch.Tensor) -> type(None): #pylint: disable=arguments-differ
          current_input = input[0]
      

      我刚刚在我的 python 环境的 site-packages 下编辑了我的 \elmoformanylangs\modules\highway.py 文件,并让它工作了。

      【讨论】:

      • 感谢您的回答。你知道如何将这个 elmo 的向量拟合到 bilstm 吗? @nata108
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-16
      • 2019-05-03
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2015-09-01
      • 2021-08-06
      相关资源
      最近更新 更多