load_dataset函数

Hugging Face 的 datasets 库中的 load_dataset 函数是一个核心工具,用于快速加载和处理多种格式的数据集。
主要功能
1.支持多种数据源

  • 从 Hugging Face Hub 加载公开数据集(如 IMDB、SQuAD)
  • 读取 本地文件(CSV/JSON/文本等)
  • 解析 内存数据(如 Python 字典或 Pandas DataFrame)

2.自动处理数据格式

  • 自动识别文件格式(无需手动指定 CSV/JSON 等)
  • 处理分块数据集(如多个文件分割的训练/验证/测试集)
    3.高效缓存机制
  • 首次加载后缓存到本地 ~/.cache/huggingface/datasets
  • 通过 cache_dir 参数自定义缓存路径

用法示例

1. 加载 Hub 数据集

from datasets import load_dataset

# 加载 IMDB 数据集(默认分割为 train/test)
dataset = load_dataset("imdb")
print(dataset["train"][0])  # 输出第一条训练数据

# 加载带配置的数据集(如 multi_news 的不同版本)
dataset = load_dataset("multi_news", "1.0")  # 指定配置名称

2. 加载本地文件

# 加载单个 CSV 文件
dataset = load_dataset("csv", data_files="path/to/file.csv")

# 加载多个 JSON 文件(自动合并分割)
dataset = load_dataset("json", data_files={"train": "train.json", "test": "test.json"})

3. 指定数据分割

# 仅加载训练集的前 10% 数据
dataset = load_dataset("imdb", split="train[:10%]")

# 合并多个分割(如 80% 训练 + 20% 验证)
dataset = load_dataset("imdb", split="train[:80%]+train[-20%:]")

核心参数解析

参数 类型 说明 示例
path str 数据集标识(Hub 名称或本地文件格式) "imdb"(Hub) "csv"(本地格式)
name str 数据集配置/版本(部分 Hub 数据集需指定) "plain_text"(如 "ag_news" 的子配置)
split str 加载的数据分割(支持切片语法) "train" "train[:10%]+validation[:20%]"
cache_dir str 自定义缓存目录路径 "./my_cache"
download_mode str 下载模式(避免重复下载) "reuse_cache_if_exists"(默认) "force_redownload"
streaming bool 流式加载(大数据集时省内存) streaming=True
trust_remote_code bool 信任自定义数据集加载脚本 True(用于第三方脚本)

从 Hugging Face Hub 加载时的参数

参数 说明 示例
revision 数据集版本(Git 分支/标签/commit) revision="v1.1.0"
use_auth_token 访问私有数据集时的认证 token use_auth_token=True(读取本地缓存) use_auth_token="hf_xxx"

从本地文件加载时的参数

参数 说明 适用格式 示例
data_files 文件路径(支持通配符 * CSV/JSON/Text data_files="data/*.json" data_files={"train": "train.csv", "test": "test.csv"}
data_dir 包含数据文件的目录路径 文本/图像 data_dir="./images"
delimiter CSV 分隔符(默认 , CSV delimiter="\t"
skip_rows 跳过文件开头的行数 CSV/Text skip_rows=1(跳过标题行)

你可能感兴趣的:(随笔,深度学习,机器学习,人工智能)