首页 > 其他分享 >huggingface上数据集常用格式Parquet及调用

huggingface上数据集常用格式Parquet及调用

时间:2024-09-17 13:35:10浏览次数:11  
标签:存储 huggingface dataset Parquet 格式 Face 数据

Parquet格式解释及词解

Parquet,中文通常翻译为帕奎帕凯,是一种高效的列式存储格式

为什么叫Parquet?

  • Parquet这个词源自法语,指的是一种镶木地板。这种地板是由许多小块木块拼凑而成的,每个木块代表一个数据列。这种比喻形象地说明了Parquet格式的存储方式。

Parquet的特点和优势:

  • 列式存储: 不同于传统的行式存储,Parquet将数据按列存储。这样一来,当我们查询特定列的数据时,就只需要扫描这一个列,而不需要扫描整个文件,大大提高了查询效率,尤其在聚合操作(比如求和、平均值等)中表现出色。
  • 压缩: Parquet支持多种压缩算法,可以有效地减少存储空间,降低I/O操作,提高数据读取速度。
  • 嵌套结构: Parquet可以存储复杂的数据结构,比如数组、结构体等,这使得它非常适合存储多样化的数据。
  • 自描述: Parquet文件本身包含了数据的元数据,描述了数据的schema(结构),方便读取和处理。

在机器学习领域,Parquet格式的优势尤其明显:

  • 大规模数据集: Parquet可以高效地处理大规模数据集,这在训练深度学习模型时非常重要。
  • 特征工程: Parquet可以方便地存储和管理各种特征,为机器学习模型提供高质量的数据。
  • 分布式处理: Parquet与Hadoop生态系统紧密集成,可以方便地在分布式环境中进行数据处理。

总结:

Parquet是一种非常适合大规模数据存储和分析的格式。它的列式存储、压缩、嵌套结构和自描述等特性,使得它在机器学习、数据仓库等领域得到了广泛应用。

回到上文提到的Hugging Face数据集:

在Hugging Face上,许多数据集都采用Parquet格式存储。这主要是因为Parquet格式能够高效地存储和管理大规模的文本、图像等数据,方便用户进行后续的自然语言处理、计算机视觉等任务。

如何调用 Parquet 格式

在 Hugging Face 的数据集上,Parquet 格式通常用于存储大规模的图像、文本或表格数据。

如何在 Python 代码中调用 Hugging Face 上的 Parquet 数据集

1. 安装必要的库

pip install datasets

2. 导入库并加载数据集

from datasets import load_dataset

# 加载数据集
dataset = load_dataset("ylecun/mnist")

3. 访问数据

# 查看数据集的结构
print(dataset)

# 访问训练集
train_dataset = dataset['train']

# 访问测试集
test_dataset = dataset['test']

# 访问第一个样本
first_sample = train_dataset[0]
print(first_sample)

4. 使用 Parquet 文件

如果你想直接操作 Parquet 文件,可以使用 PyArrow 库:

import pyarrow.parquet as pq

# 读取 Parquet 文件
table = pq.read_table("train-00000-of-00001.parquet")

# 转换为 Pandas DataFrame
df = table.to_pandas()

详细解释

  • load_dataset 函数: 这个函数是 Hugging Face 的 datasets 库提供的,用于加载各种数据集,包括存储在 Parquet 格式中的数据集。
  • dataset 对象: 加载后的数据集是一个 DatasetDict 对象,包含了训练集、验证集、测试集等。
  • 访问数据: 可以通过索引的方式访问数据集中的每个样本。每个样本通常是一个字典,包含了图像数据、标签等信息。

注意

  • 数据集结构: 不同数据集的结构可能略有不同。你可以通过打印 dataset 对象来查看具体的结构。
  • 数据类型: Parquet 文件可以存储多种数据类型,包括数值型、字符串型、布尔型等。
  • 性能优化: 对于大规模数据集,可以考虑使用 batch 方法进行批量处理,以提高性能。

总结

Hugging Face 提供了一个方便的接口,让我们可以直接加载和使用 Parquet 格式的数据集。通过了解 Parquet 文件的特性以及 Hugging Face datasets 库的使用方法,我们可以高效地处理大规模数据集。

更多信息

标签:存储,huggingface,dataset,Parquet,格式,Face,数据
From: https://www.cnblogs.com/litifeng/p/18417108

相关文章

  • 【目标检测数据集】卡车数据集1073张VOC+YOLO格式
    数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1073标注数量(xml文件个数):1073标注数量(txt文件个数):1073标注类别数:1标注类别名称:["truck"]每个类别标注的框数:truck框......
  • 【目标检测数据集】锯子数据集1107张VOC+YOLO格式
    数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1107标注数量(xml文件个数):1107标注数量(txt文件个数):1107标注类别数:1标注类别名称:["juzi"]每个类别标注的框数:juzi框数......
  • clang-format初版格式
    使用clangpowertools配置生成的.clang-format测试版本点击查看代码#FormatStyleOptions-CreatedwithClangPowerTools---AccessModifierOffset:-2AlignConsecutiveAssignments:ConsecutiveAlignOperands:AlignAfterOperatorAllowAllConstructorInitialize......
  • [C高手编程] 字符串处理:长度、危险操作、格式化与字符串化
    ......
  • GGUF大模型文件格式
    GGUF大模型文件格式https://www.datalearner.com/blog/1051705718835586 大语言模型的开发通常使用PyTorch等框架,其预训练结果通常也会保存为相应的二进制格式,如pt后缀的文件通常就是PyTorch框架保存的二进制预训练结果。但是,大模型的存储一个很重要的问题是它的模型文件巨......
  • 基于高级语言源程序格式处理工具
    基于高级语言源程序格式处理工具w,e,c,h,a,t:help-assignment图3.2识别标识符和整数的算法流程图如何来识别特定语言的所有单词,详见《综合程序设计课程设计指导-源程序格式处理》。语法分析的过程,建议采用的实现方法是编译技术中的递归下降子程序法,递归下降子程序法是......
  • IMA的binary_runtime_measurement文件格式
    首先贴出一个IMA度量文件的实例:binary_runtime_measurement:00000000000a00009d4c81b9dbf2b4c527177f49|.....L......'..I|00000010759de98fdc50a2f6000600006d692d61|u....P......mi-a|00000020676e00310000001a0000687......
  • 希捷硬盘只有一个分区被格式化了还能恢复吗
    希捷硬盘只有一个分区被格式化后,理论上是可以恢复的,但具体恢复的成功率会受到多种因素的影响,如格式化后硬盘的使用情况、格式化前数据的存储状态等。以下是一些可能的恢复方法:一、使用数据恢复软件数据恢复软件:这些软件通常具有强大的数据恢复能力,能够扫描并尝试恢复被格式化的......
  • 希捷硬盘只有一个分区被格式化了还能恢复吗
    希捷硬盘只有一个分区被格式化后,理论上是可以恢复的,但具体恢复的成功率会受到多种因素的影响,如格式化后硬盘的使用情况、格式化前数据的存储状态等。以下是一些可能的恢复方法:一、使用数据恢复软件安装数据恢复:这些软件通常具有强大的数据恢复能力,能够扫描并尝试恢复被格式化的分区......
  • PbootCMS时间标签date常用格式调用方法大全
    在使用PBootCMS建站时,时间标签是非常常用的功能之一。下面整理了详细的调用方法,帮助大家更好地理解和使用这些标签。首页/列表页时间标签默认格式:标签:[list:date]效果:2021-12-0609:12:30年月日格式(Y-m-d):标签:[list:datestyle=Y-m-d]效果:2021-12-06年格式(Y):标......