pytorch 我正在尝试导入:从torchtext.legacy.data导入字段、BucketIterator、迭代器、数据,但收到错误“没有名为”torchtext.legacy“的模块”

bihw5rsg  于 2023-02-22  发布在  其他
关注(0)|答案(3)|浏览(1226)

我正在尝试为nlp项目执行以下代码

import torchtext
from torchtext.legacy.data import Field, BucketIterator, Iterator
from torchtext.legacy import data

----> 6 from torchtext.legacy.data import Field, BucketIterator, Iterator
      7 from torchtext.legacy import data
      8 

ModuleNotFoundError: No module named 'torchtext.legacy'.

我在kaggle笔记本和jupyter笔记本上都试过了,发现两者都有同样的错误。我甚至试着在kaggle中安装!pip install -qqq deepmatcher==0.1.1来解决这个问题,但它仍然给出同样的错误。有什么解决方案吗?

clj7thdc

clj7thdc1#

在你import torchtext.legacy之前,你需要!pip install torchtext==0.10.0
可能在版本0.11.0中删除了旧版。

wrrgggsh

wrrgggsh2#

遗留版本仅适用于pytorch1.9+
对于使用较低版本pytorch的用户(例如我使用pytorch1.6 + torchtext 0.6),您可以修改“fairseq”文件夹中的“train_ebr.py”脚本。

# old 
from torchtext.legacy import data, datasets
from torchtext.legacy.vocab import Vocab

# new
from torchtext import data, datasets
from torchtext.vocab import Vocab
9njqaruj

9njqaruj3#

使用torchtext版本v0.6和torch的相应兼容版本。
!pip install torchtext==0.6 torch==1.5(在colab中)执行此行后重新启动运行时
然后您可以使用
from torchtext.data import Field, TabularDataset, BucketIterator, Iterator

相关问题