AttributeError: 'module' object has no attribute 'float32'

AttributeError: 'module' object has no attribute 'float32'

我正在尝试将 OpenNMT-py 与 python 2.7 一起使用。 OpenNMT-py 需要 torchtext,所以我安装了它,但现在当我 运行 我的程序时,我收到以下错误消息。

Traceback (most recent call last):
  File "examples/StackPointerParser.py", line 23, in <module>
    from neuronlp2.io import get_logger, conllx_stacked_data
  File "./neuronlp2/__init__.py", line 7, in <module>
    from . import models
  File "./neuronlp2/models/__init__.py", line 4, in <module>
    from .parsing import *
  File "./neuronlp2/models/parsing.py", line 15, in <module>
    from onmt.modules import LayerNorm, Transformer
  File "/home/wasiahmad/software/anaconda2/lib/python2.7/site-packages/onmt/__init__.py", line 1, in <module>
    import onmt.io
  File "/home/wasiahmad/software/anaconda2/lib/python2.7/site-packages/onmt/io/__init__.py", line 1, in <module>
    from onmt.io.IO import collect_feature_vocabs, make_features, \
  File "/home/wasiahmad/software/anaconda2/lib/python2.7/site-packages/onmt/io/IO.py", line 8, in <module>
    import torchtext.data
  File "/home/wasiahmad/software/anaconda2/lib/python2.7/site-packages/torchtext/__init__.py", line 1, in <module>
    from . import data
  File "/home/wasiahmad/software/anaconda2/lib/python2.7/site-packages/torchtext/data/__init__.py", line 4, in <module>
    from .field import RawField, Field, ReversibleField, SubwordField, NestedField, LabelField
  File "/home/wasiahmad/software/anaconda2/lib/python2.7/site-packages/torchtext/data/field.py", line 61, in <module>
    class Field(RawField):
  File "/home/wasiahmad/software/anaconda2/lib/python2.7/site-packages/torchtext/data/field.py", line 115, in Field
    torch.float32: float,
AttributeError: 'module' object has no attribute 'float32'

我试图寻找解决此问题的解决方案,但找不到任何解决方案。任何帮助将不胜感激。

这更多是猜测,因为您没有提供有关您的版本的信息。但在我看来,您的 torchtext 版本与 PyTorch 版本不兼容。

可能当您安装 torchtext 时,您已经获得了为 PyTorch 0.4.0 制作的更新版本。但是您安装的 PyTorch 版本仍然比 0.4.0 旧(版本 0.3.1 左右)。

如果是这种情况,您有两个选择。将 torchtext 降级为与您兼容的版本(可能是之前的版本)。或者将 PyTorch 升级到版本 0.4.0.

希望对您有所帮助。

你的pytorch版本是多少?根据 torchtext 的 github 回购协议的自述文件:

For PyTorch versions before 0.4.0, please use pip install torchtext==0.2.3.

我在使用 pytorch 0.3.1 和 torchtext 0.3.0 时遇到了这个问题。我卸载了 torchtext,然后用

安装了它

pip install torchtext==0.2.3.

它对我有用。如果您遇到任何其他问题,请告诉我。