AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
  • Transformer

    • Transformer - 概述
    • Transformer - Encoding and Decoding Context with Attention
    • Transformer - Tokenizers
    • Transformer - 架构
    • Transformer - Block
    • Transformer - 自注意力
    • Transformer - MoE
    • Transformer - Transformer
  • Pytorch

    • Pytorch - Dataset
    • Pytorch - TensorBoard
    • Pytorch - transforms
    • Pytorch - DataLoader
    • Pytorch - nn
    • Pytorch - Model
    • Pytorch - train
    • Pytorch - Practice
    • Pytorch - pytorch
  • HuggingFace

    • HuggingFace - Transformers
    • HuggingFace - Pipeline
    • HuggingFace - Tokenizer
    • HuggingFace - Model
    • HuggingFace - Datasets
    • HuggingFace - Evaluate
    • HuggingFace - Trainer

HuggingFace - Datasets

datasets 库是一个非常简单易用的数据集加载库,可以方便快捷的从本地或者 HuggingFace Hub 加载数据集。

  • 公开数据集地址:https://huggingface.co/datasets
  • 文档地址:https://huggingface.co/docs/datasets/index

Datasets 基本使用

  • 加载在线数据集(load_dataset("dataset_name"))
  • 加载数据集某一项任务(load_dataset("dataset_name", "subset_name"))
  • 按照数据集划分进行加载(load_dataset(..., split="train"))
  • 查看数据集(index and slice)
  • 数据集划分(train_test_split)
  • 数据选取与过滤(select and filter)
  • 数据映射(map)
  • 保存与加载(save_to_disk/load_from_disk)

Datasets加载本地数据

  • 直接加载文件作为数据集
    • CSV、JSON
  • 加载文件夹内全部文件作为数据集
  • 通过预先加载的其他格式转换加载数据集
    • dict、pandas、list
  • 通过自定义加载脚本加载数据集
    • def _info(self)
    • def _split_generators(self, dl_manager) def_generate_examples(self, filepath)

Datasets使用

参见:datasets_use1.py

执行结果:

1. 加载 IMDB 数据集(小样本)
训练集大小: 500
测试集大小: 100

2. 查看数据结构和第一条数据
Dataset({
    features: ['text', 'label'],
    num_rows: 500
})
第一条数据示例:
I rented I AM CURIOUS-YELLOW from my video store because of all the controversy that surrounded it when it was first released in 1967. I also heard
th...
标签: 0

3. 查看数据集字段(features)
{'text': Value('string'), 'label': ClassLabel(names=['neg', 'pos'])}

4. 数据切片:获取前3条数据
前3条的文本长度: [1640, 1294, 528]
前3条的标签: [0, 0, 0]

5. 过滤数据:只保留正面评论(label == 1)
正面评论数量: 0

6. 映射处理:添加文本长度字段
添加长度后的一条数据: 1640

7. 批量处理:计算所有文本长度(batched=True 更快)
批量处理后的长度(前5条): [1640, 1294, 528, 706, 1814]

8. 打乱数据顺序
打乱后第一条的标签: 0

9. 采样:随机取 50 条数据
采样后大小: 50

10. 转换为 Pandas DataFrame
DataFrame 前两行:
   label                                               text
0      0  I rented I AM CURIOUS-YELLOW from my video sto...
1      0  "I Am Curious: Yellow" is a risible and preten...

11. 保存到磁盘(本地)
Saving the dataset (1/1 shards): 100%|███████████████████████████████████████████████████████
Saving the dataset (1/1 shards): 100%|███████████████████████████████████████████████████████
███████████| 500/500 [00:00<00:00, 7575.98 examples/s]
数据集已保存到 './small_imdb_dataset'

12. 从磁盘加载
加载后大小: 500
加载成功,第一条数据标签: 0
最近更新: 2025/10/4 15:57
Contributors: klc407073648
Prev
HuggingFace - Model
Next
HuggingFace - Evaluate