Pytorch 属性错误:';字段';对象没有属性';vocab&x27;
返回的BucketIterator迭代器出现错误Pytorch 属性错误:';字段';对象没有属性';vocab&x27;,pytorch,torchtext,Pytorch,Torchtext,返回的BucketIterator迭代器出现错误 train_iterator = data.BucketIterator.splits( train_data, batch_size=BATCH_SIZE, device=device ) 列车运行数据的价值看起来也不错 print(vars(train_data.examples[10])) {'text': ['plus', "you've", 'added', 'commercials', '
train_iterator = data.BucketIterator.splits(
train_data,
batch_size=BATCH_SIZE,
device=device
)
列车运行数据的价值看起来也不错
print(vars(train_data.examples[10]))
{'text': ['plus',
"you've",
'added',
'commercials',
'to',
'the',
'experience...',
'tacky.'],
'label': 'positive'}
堆栈跟踪:
print([x for x in train_iterator])
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-50-f14edc400c88> in <module>()
----> 1 [x for x in train_iter]
<ipython-input-50-f14edc400c88> in <listcomp>(.0)
----> 1 [x for x in train_iter]
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/iterator.py in __iter__(self)
154 else:
155 minibatch.sort(key=self.sort_key, reverse=True)
--> 156 yield Batch(minibatch, self.dataset, self.device)
157 if not self.repeat:
158 return
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/batch.py in __init__(self, data, dataset, device)
32 if field is not None:
33 batch = [getattr(x, name) for x in data]
---> 34 setattr(self, name, field.process(batch, device=device))
35
36 @classmethod
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py in process(self, batch, device)
235 """
236 padded = self.pad(batch)
--> 237 tensor = self.numericalize(padded, device=device)
238 return tensor
239
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py in numericalize(self, arr, device)
334 if self.use_vocab:
335 if self.sequential:
--> 336 arr = [[self.vocab.stoi[x] for x in ex] for ex in arr]
337 else:
338 arr = [self.vocab.stoi[x] for x in arr]
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py in <listcomp>(.0)
334 if self.use_vocab:
335 if self.sequential:
--> 336 arr = [[self.vocab.stoi[x] for x in ex] for ex in arr]
337 else:
338 arr = [self.vocab.stoi[x] for x in arr]
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py in <listcomp>(.0)
334 if self.use_vocab:
335 if self.sequential:
--> 336 arr = [[self.vocab.stoi[x] for x in ex] for ex in arr]
337 else:
338 arr = [self.vocab.stoi[x] for x in arr]
AttributeError: 'Field' object has no attribute 'vocab'
打印([x代表序列迭代器中的x])
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
---->1[x代表列车中的x]
英寸(.0)
---->1[x代表列车中的x]
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/iterator.py in(self)
154其他:
155 minibatch.sort(key=self.sort\u key,reverse=True)
-->156产量批次(小批量、自数据集、自设备)
157如果不是自己,重复:
158返回
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/batch.py in\uuuuuuuu init\uuuuuuu(自我、数据、数据集、设备)
32如果字段不是“无”:
33 batch=[getattr(x,name)表示数据中的x]
--->34 setattr(self、name、field.process(批处理,设备=设备))
35
36@classmethod
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py正在处理中(self、batch、device)
235 """
236填充=自填充(批次)
-->237张量=自数值化(填充,设备=设备)
238返回张量
239
数值化中的~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py(self、arr、device)
334如果自用语音:
335如果自序:
-->336 arr=[[self.vocab.stoi[x]代表ex中的x]代表ex中的ex]
337其他:
338 arr=[self.vocab.stoi[x]表示arr中的x]
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py in(.0)
334如果自用语音:
335如果自序:
-->336 arr=[[self.vocab.stoi[x]代表ex中的x]代表ex中的ex]
337其他:
338 arr=[self.vocab.stoi[x]表示arr中的x]
~/anaconda3/envs/env/lib/python3.6/site-packages/torchtext/data/field.py in(.0)
334如果自用语音:
335如果自序:
-->336 arr=[[self.vocab.stoi[x]代表ex中的x]代表ex中的ex]
337其他:
338 arr=[self.vocab.stoi[x]表示arr中的x]
AttributeError:“Field”对象没有属性“vocab”
我可以知道我们在这里遗漏了什么吗?面对同样的问题。您是否在Github问题部分提出了这种担忧?