我正在尝试可视化几个PyTorch数据集。对于IMDb数据集,我只得到了负的训练样本。在原始数据集中,阳性和阴性样本是平衡的。
这是我正在使用的代码。它基于T5
from torch.utils.data import DataLoader
from functools import partial
from torchtext.datasets import IMDB
imdb_datapipe = IMDB(split='test')
labels = {"1": "negative", "2": "positive"}
def process_labels(labels, x):
return x[1], labels[str(x[0])]
imdb_datapipe = imdb_datapipe.map(partial(process_labels, labels))
imdb_datapipe = imdb_datapipe.batch(2)
imdb_datapipe = imdb_datapipe.shuffle()
imdb_datapipe = imdb_datapipe.rows2columnar(["text", "label"])
imdb_dataloader = DataLoader(imdb_datapipe, batch_size=None)
it = iter(imdb_dataloader)
for _ in range(10):
sample = next(it)
for text,label in zip(sample['text'], sample['label']):
print(f"{label}: {text[:100]}")
我错过了什么?
1条答案
按热度按时间scyqe7ek1#
在一个干净的(Colab)环境中运行你的代码,一切正常,得到了正面和负面的例子:output screenshot
这可能是一个环境问题。也许,尝试重新安装torchtext并再次运行您的代码。
torchtext==0.15.2
和torch==2.0.1
对我来说很好用。