Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pytorch 属性错误:Can';t获取属性'_默认索引';on<;模块';torchtext.vocab';_Pytorch - Fatal编程技术网

Pytorch 属性错误:Can';t获取属性'_默认索引';on<;模块';torchtext.vocab';

Pytorch 属性错误:Can';t获取属性'_默认索引';on<;模块';torchtext.vocab';,pytorch,Pytorch,我在GoogleColab中运行代码,但遇到了一些错误 torch:1.1.0,torchtext:0.4.0,我更新了,但没用 [2019-09-14 02:57:15,574 INFO] * src vocab size = 49766 [2019-09-14 02:57:15,574 INFO] * history vocab size = 49766 [2019-09-14 02:57:15,574 INFO] * tgt vocab size = 49766 [2019-09-1

我在GoogleColab中运行代码,但遇到了一些错误

torch:1.1.0,torchtext:0.4.0,我更新了,但没用

[2019-09-14 02:57:15,574 INFO]  * src vocab size = 49766
[2019-09-14 02:57:15,574 INFO]  * history vocab size = 49766
[2019-09-14 02:57:15,574 INFO]  * tgt vocab size = 49766
[2019-09-14 02:57:15,574 INFO] Building model...
Traceback (most recent call last):
  File "/content/drive/My Drive/ReDR/train.py", line 109, in <module>
    main(opt)
  File "/content/drive/My Drive/ReDR/train.py", line 41, in main
    single_main(opt, -1)
  File "/content/drive/My Drive/ReDR/onmt/train_single.py", line 86, in main
    model = build_model(model_opt, opt, fields, checkpoint)
  File "/content/drive/My Drive/ReDR/onmt/model_builder.py", line 235, in build_model
    vocab = torch.load(opt.drqa_vocab_path)
  File "/usr/local/lib/python3.6/dist-packages/torch/serialization.py", line 387, in load
    return _load(f, map_location, pickle_module, **pickle_load_args)
  File "/usr/local/lib/python3.6/dist-packages/torch/serialization.py", line 574, in _load
    result = unpickler.load()
AttributeError: Can't get attribute '_default_unk_index' on <module 'torchtext.vocab' from '/usr/local/lib/python3.6/dist-packages/torchtext/vocab.py'>
[2019-09-14 02:57:15574信息]*src vocab size=49766
[2019-09-14 02:57:15574信息]*history vocab size=49766
[2019-09-14 02:57:15574信息]*tgt vocab大小=49766
[2019-09-14 02:57:15574信息]建筑模型。。。
回溯(最近一次呼叫最后一次):
文件“/content/drive/My-drive/ReDR/train.py”,第109行,在
主要(可选)
文件“/content/drive/My drive/ReDR/train.py”,第41行,主目录
单_干管(可选,-1)
文件“/content/drive/My drive/ReDR/onmt/train_single.py”,第86行,在main中
模型=构建模型(模型选项、选项、字段、检查点)
文件“/content/drive/My drive/ReDR/onmt/model_builder.py”,第235行,内建模型
vocab=火炬加载(可选drqa\u vocab\u路径)
文件“/usr/local/lib/python3.6/dist-packages/torch/serialization.py”,第387行,已加载
返回加载(f,映射位置,pickle模块,**pickle加载参数)
文件“/usr/local/lib/python3.6/dist-packages/torch/serialization.py”,第574行,装入
结果=unpickler.load()
AttributeError:无法在上获取属性“\u default\u unk\u index”

我将感谢你的任何帮助

有相同的问题,解决方案在

编辑ReDR/onmt/model_builder.py


这应该可以做到

在保存词汇表并加载相同词汇表时检查使用的torchtext版本。这是同一个问题。解决方案是降级到保存它的torchtext版本。或者升级torchtext版本,重新创建vocab pickle文件,然后使用它

情景1
  • 使用torchtext 0.3.1保存vocab

  • 使用torchtext 0.4.0加载vocab

  • 解决方案是,将torchtext从0.4.0降级到0.3.1,然后vocab加载应该可以工作

    pip install torchtext==0.3.1
    
对我来说,这个解决方案奏效了

情景2
  • 使用torchtext 0.3.1保存vocab

  • 使用torchtext 0.4.0加载vocab

  • 解决方案是,将torchtext从0.3.1升级到0.4.0,然后使用新的torchtext再次保存vocab。现在加载应该可以正常工作了

    pip install torchtext==0.4.0
    
pip install torchtext==0.4.0