链接示例:https://huggingface.co/docs/transformers/main_classes/pipelines#pipeline-batching
示例:
from transformers import pipeline
from transformers.pipelines.pt_utils import KeyDataset
import datasets
dataset = datasets.load_dataset("imdb", name="plain_text", split="unsupervised")
pipe = pipeline("text-classification", device=0)
for out in pipe(KeyDataset(dataset, "text"), batch_size=8, truncation="only_first"):
print(out)
为什么要使用
KeyDataset
而不是直接调用数据集,如下所示:
for out in pipe(dataset["text"], batch_size=8, truncation="only_first"):
print(out)
dataset["text"]
将为您提供一个列表,而 KeyDataset(dataset, "text")
将为您提供一个 Dataset
实例,您可以用它做比简单列表更多的事情。您在用例中使用哪一个并不重要。