python - 如何处理这些数据集以创建 datasetDict?
问题描述
我正在尝试构建一个 datasetDictionary 对象来在 PyTorch 上训练一个 QA 模型。我有这两个不同的数据集:
test_dataset
Dataset({
features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
num_rows: 21489
})
和
train_dataset
Dataset({
features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
num_rows: 54159
})
在数据集的文档中,我什么也没找到。我是个菜鸟,因此解决方案可能真的很简单。我希望得到的是这样的:
dataset
DatasetDict({
train: Dataset({
features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
num_rows: 54159
})
test: Dataset({
features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
num_rows: 21489
})
})
我真的不知道如何使用两个数据集来创建 dataserDict 或如何设置键。此外,我希望将训练集“切割”成两个:训练集和验证集,而且这段话我也很难处理。最终结果应该是这样的:
dataset
DatasetDict({
train: Dataset({
features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
num_rows: 54159 - x
})
validation: Dataset({
features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
num_rows: x
})
test: Dataset({
features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
num_rows: 21489
})
})
提前谢谢你,请原谅我是个菜鸟:)
解决方案
要获取验证数据集,您可以这样做:
train_dataset, validation_dataset= train_dataset.train_test_split(test_size=0.1).values()
该函数会将 10% 的训练数据集划分为验证数据集。
并获得“DatasetDict”,你可以这样做:
import datasets
dd = datasets.DatasetDict({"train":train_dataset,"test":test_dataset})
推荐阅读
- arduino - 有没有办法使用arduino和gsm模块一次拨打多个电话号码?
- c# - C#中受保护的方法继承
- angular - 我可以一次在 2 个地方显示相同的组件实例吗?
- android - 在 Kotlin 中扩展的 Java 中的执行方法
- swift - “NSWindow 检测到过多的活动窗口计数”
- javascript - 绕过 Google Recaptcha for imacros
- python - 分类特征“星期几”的 OneHotEncoder 导致 ValueError
- apache-kafka - 使用KafkaStreams处理主题时如何从主题中获取上一条消息
- docker - Docker inside wsl2 和 Docker desktop 的区别
- c# - .net 核心自包含和配置文件,如果我需要更改配置文件中的某些内容怎么办?