AttributeError: module ‘torchtext.data‘ has no attribute ‘Field‘/AttributeError: module ‘torchtext.d

Asked 5 months ago
Active 1 month ago
Viewed 10k times

13


1
I want to run a git project used pytorch and torchtext but when I run it, it raise error:

  File "main.py", line 60, in <module>
    main()
  File "main.py", line 50, in main
    train_iters, dev_iters, test_iters, vocab = load_dataset(config)
  File "/home/esmailza/style transfer/style-transformer/data.py", line 23, in load_dataset
    TEXT = data.Field(batch_first=True, eos_token='<eos>')
AttributeError: module 'torchtext.data' has no attribute 'Field'
torch version = 1.8.0 torchtext version = 0.9


def load_dataset(config, train_pos='train.pos', train_neg='train.neg',
                 dev_pos='dev.pos', dev_neg='dev.neg',
                 test_pos='test.pos', test_neg='test.neg'):

    root = config.data_path
    TEXT = data.Field(batch_first=True, eos_token='<eos>')
    
    dataset_fn = lambda name: data.TabularDataset(
        path=root + name,
        format='tsv',
        fields=[('text', TEXT)]
    )
python
pytorch
Share
Improve this question
Follow
edited Mar 7 at 12:27
asked Mar 7 at 12:12

abbas hoseini
30322 silver badges1111 bronze badges
Is this an issue in BucketIterator? – OctopuSS7 Mar 7 at 12:18
@OctopuSS7 yes, actually the error raise when he defines Field, but the field is gonna used in BucketIterator. – abbas hoseini Mar 7 at 12:26
Add a comment
2 Answers
 
31

From TorchText 0.9.0 Release Notes


torchtext.data.Field -> torchtext.legacy.data.Field
This means, all features are still available, but within torchtext.legacy instead of torchtext.

torchtext.data.Field has been moved to torchtext.legacy.data.Field 


And the imports would change this way:

from torchtext.legacy import data
Share
Improve this answer
Follow
answered Mar 7 at 15:08

Rishabh Kumar
2,11633 gold badges99 silver badges2121 bronze badges
1
It works. Thanks ! – user1412066 Mar 27 at 9:05
Add a comment

0

Thanks, @Rishabh Kumar answer as well, this works for me!

From TorchText 0.9.0 Release Notes

Based on v0.9 release https://github.com/pytorch/text/releases/tag/v0.9.0-rc5

The current users of the legacy code will experience BC breakage as we have retired the legacy code (#1172, #1181, #1183). The legacy components are placed in torchtext.legacy.data folder as follows:

torchtext.data.Pipeline -> torchtext.legacy.data.Pipeline
torchtext.data.Batch -> torchtext.legacy.data.Batch
torchtext.data.Example -> torchtext.legacy.data.Example
torchtext.data.Field -> torchtext.legacy.data.Field
torchtext.data.Iterator -> torchtext.legacy.data.Iterator
torchtext.data.Dataset -> torchtext.legacy.data.Dataset
This means, all features are still available, but within torchtext.legacy instead of torchtext.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值