Почему мой пользовательский набор данных выдает ошибку атрибута?
мои исходные данные выглядели так
мои данные - это блок данных padas с заголовком и меткой cloumns. Я хочу создать собственный набор данных с этим. поэтому я сделал такой же набор данных, как показано ниже. * Я работаю над Google Colab
class newsDataset(torch.utils.data.Dataset):
def __init__(self,train=True,transform=None):
if train:
self.file = ttrain
else:
self.file= ttest
self.text_list = self.file['title'].values.tolist()
self.class_list=self.file['label'].values.tolist()
def __len__(self):
return len(self.text_list)
def __getitem__(self,idx):
label = self.class_list[idx]
text = self.text_list[idx]
if self.transform is not None:
text=self.transform(text)
return label, text
и так я называю загрузчик данных
trainset=newsDataset()
train_iter = DataLoader(trainset)
iter(train_iter).next()
и это дает
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-153-9872744bc8a9> in <module>()
----> 1 iter(train_iter).next()
5 frames
/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataset.py in __getattr__(self, attribute_name)
81 return function
82 else:
---> 83 raise AttributeError
84
85 @classmethod
AttributeError:
Точного сообщения об ошибке не было. Кто-нибудь может мне помочь?
2 ответа
Пожалуйста, добавьте следующую отсутствующую строку в свой
__init__
функция:
self.transform = transform
У вас нет атрибута self.transform, поэтому вам нужно инициализировать его в методе __init__