我正在尝试可视化几个 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]}")
我缺少什么?
在干净的(Colab)环境中运行代码,一切正常,同时获得正面和负面示例: 输出屏幕截图
这可能是环境问题。也许,尝试重新安装 torchtext 并再次运行您的代码。
torchtext==0.15.2
适合torch==2.0.1
我。