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
dataset = load_dataset("imdb")
print(dataset["train"][0])  
dataset = load_dataset("multi_news", "1.0")  
 
2. 加载本地文件
 
dataset = load_dataset("csv", data_files="path/to/file.csv")
dataset = load_dataset("json", data_files={"train": "train.json", "test": "test.json"})
 
3. 指定数据分割
 
dataset = load_dataset("imdb", split="train[:10%]")
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(跳过标题行) |