如何解决在拥抱面数据集上迭代 DataLoader 时获取批次索引
下面的代码来自一个 tutorial 的拥抱脸:
from datasets import load_metric
metric= load_metric("glue","mrpc")
model.eval()
for batch in eval_dataloader:
batch = {k: v.to(device) for k,v in batch.items()}
with torch.no_grad():
outputs = model(**batch)
logits = outputs.logits
predictions = torch.argmax(logits,dim=-1)
metric.add_batch(predictions=predictions,references=batch["labels"])
metric.compute()
在循环 for batch in eval_dataloader:
中,我如何知道该批次包含数据集中的哪些索引?
DataLoader 是之前使用
创建的eval_dataloader = DataLoader(
tokenized_datasets["validation"],batch_size=8,collate_fn=data_collator
)
请注意,它没有改组标志,因此可以使用批量大小手动计数,但是如何使用改组进行计数?是否可以在创建数据集和数据加载器时使其成为批处理的字段?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。