AttributeError:'模块'对象没有属性' float32'

时间:2018-05-05 06:13:49

标签: python-2.7 pytorch torchtext

我正在尝试将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'

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

2 个答案:

答案 0 :(得分:4)

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

当您安装PyTorch时,您可能已经为torchtext制作了新版本。但是,您安装的PyTorch 0.4.0版本仍然早于PyTorch(版本0.4.0左右)。

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

我希望这会有所帮助。

答案 1 :(得分:2)

你的pytorch版本是什么?根据{{​​3}}的github回购自述文件:

  

对于0.4.0之前的PyTorch版本,请使用pip install torchtext == 0.2.3。

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

安装它
  

pip install torchtext == 0.2.3。

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