datasets
库简介datasets
库是由Hugging Face开发的一个轻量级、易于使用的开源库,旨在为研究人员和开发者提供便捷的数据集管理和处理工具。它支持多种格式的数据集,并且与Hugging Face的Transformers库无缝集成,极大地方便了NLP任务的处理。
datasets
库内置了超过900个公开数据集,涵盖文本分类、翻译、问答等各种任务。datasets
库要使用datasets
库,首先需要进行安装。可以通过pip进行安装:
pip install datasets
datasets
库下面我们通过具体的代码示例来展示如何使用datasets
库加载、处理和保存数据集。
datasets
库提供了简单的接口来加载内置数据集。以下示例展示了如何加载常用的IMDB电影评论数据集:
from datasets import load_dataset
# 加载IMDB数据集
dataset = load_dataset("imdb")
# 查看训练集和测试集的基本信息
print(dataset)
加载后,可以通过索引访问数据集中的具体样本:
# 访问训练集中的第一个样本
print(dataset['train'][0])
# 访问测试集中的前10个样本
for i in range(10):
print(dataset['test'][i])
datasets
库还提供了便捷的数据处理方法,例如映射、过滤和批量处理。以下示例展示了如何对数据集进行简单的预处理:
def preprocess_function(example):
return {'text': example['text'].lower()}
# 对训练集进行文本小写化处理
train_dataset = dataset['train'].map(preprocess_function, batched=True)
# 查看处理后的数据
print(train_dataset[0])
filtered_dataset = train_dataset.filter(lambda example: len(example["text"]) > 100)
shuffled_dataset = train_dataset.shuffle(seed=42)
sampled_dataset = shuffled_dataset.select(range(10))
处理完成后,可以将数据集保存到本地文件,方便后续使用:
# 将处理后的数据集保存为CSV文件
train_dataset.to_csv("processed_train.csv")
# 从CSV文件加载数据集
from datasets import load_from_disk
dataset = load_from_disk("processed_train.csv")
如果你有自己的数据集,也可以使用 datasets 库来加载和处理。你可以创建一个自定义的 Dataset 对象:
from datasets import Dataset
data = [
{"text": "Example text 1", "label": 0},
{"text": "Example text 2", "label": 1},
]
dataset = Dataset.from_dict({"text": data, "label": data})
这只是一个简单的介绍,datasets 库的功能非常丰富,包括数据集的缓存、版本控制等高级特性。你可以查看 官方文档 来获取更多的信息和高级用法。
在使用 datasets 库时,你可以从以下几个途径获取数据集的名称,这些名称将作为 load_dataset 函数的参数值:
from datasets import list_datasets
dataset_names = list_datasets()
for name in dataset_names:
print(name)
记住,当你使用 load_dataset 函数时,参数可以是数据集的名称,也可以是指向数据集配置文件的路径。例如:
# 使用数据集名称
dataset = load_dataset("imdb_reviews")
# 使用配置文件路径
dataset = load_dataset("path/to/your/config.json")
确保在使用 load_dataset 之前,你已经知道了正确的数据集名称或配置文件路径。
使用 datasets
包加载数据集时,默认情况下,数据集文件会被下载并缓存到本地的磁盘上。具体的缓存位置取决于操作系统和配置:
~/.cache/huggingface/datasets
文件夹中。这里的~
表示当前用户的主目录。C:\Users\<Your Username>\.cache\huggingface\datasets
路径中。datasets
包使用 Hugging Face 的缓存机制,这意味着它会自动管理下载的数据集文件,包括缓存的版本控制和过期策略。如果你需要修改缓存位置,可以在环境变量中设置 HF_HOME
来指定一个不同的目录:
export HF_HOME="/path/to/your/huggingface_cache"
在 Python 脚本中,你可以使用 datasets.config.set_filesystem_cache_dir
方法来设置缓存目录:
from datasets import config
config.set_filesystem_cache_dir("path/to/your/huggingface_cache")
请注意,更改缓存目录可能会影响其他使用 Hugging Face 缓存机制的库,如 transformers
。
此外,datasets
库还支持使用配置文件来管理数据集的下载和缓存行为,这可以通过创建一个 .json
或 .yaml
配置文件来实现,并在加载数据集时指定该配置文件的路径。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。