import torch
from torch.utils.data import Dataset,DataLoader
class SmsDataset(Dataset):
def __init__(self):
self.file_path = "./SMSSpamCollection"
self.lines = open(self.file_path,encoding="utf-8").readlines()
def __getitem__(self, index):
line = self.lines[index].strip()
label = line.split("\t")[0]
sent = line.split("\t")[1]
return label,sent
def __len__(self):
return len(self.lines)
sms_dataset = SmsDataset()
dataloader = DataLoader(sms_dataset,batch_size=2,shuffle=True)
if __name__ == '__main__':
for idx,(label,sent) in enumerate(dataloader):
print(idx)
print(label)
print(sent)
break
print(len(sms_dataset))
print(len(dataloader))
0
('ham', 'spam')
('And popping <#> ibuprofens was no help.', 'This is the 2nd time we have tried 2 contact u. U have won the 750 Pound prize. 2 claim is easy, call 08712101358 NOW! Only 10p per min. BT-national-rate')
5574
2787