把Huggingface下载的arrow数据集转化为json格式

Arrow2json

使用默认的Huggingface路径

allenai/tulu-3-sft-mixture数据集为例。

使用load_dataset即可:

go 复制代码
from datasets import load_dataset

# 加载数据集
dataset = load_dataset("allenai/tulu-3-sft-mixture")

# 指定保存路径
output_dir = "~/xxx/open-instruct/data/tulu-3-sft-mixture-json"

# 将数据集转换为 JSON 格式
for split in dataset.keys():  # 处理所有划分 (train, validation 等)
    dataset[split].to_json(f"{output_dir}/{split}.json", orient="records", lines=True)

使用ls -sh输出可以看到数据集train.json大小是3.3GB

go 复制代码
3.3G train.json

从本地路径

本地路径如下:

查看一下文件大小:

go 复制代码
ls -sh ~/.cache/huggingface/datasets/allenai___tulu-3-sft-mixture-1024/train
total 1.2G
223M data-00000-of-00005.arrow  283M data-00002-of-00005.arrow  132M data-00004-of-00005.arrow
273M data-00001-of-00005.arrow  252M data-00003-of-00005.arrow  4.0K state.json

使用load_from_disk函数从本地路径加载

go 复制代码
from datasets import load_dataset, load_from_disk

# 加载数据集
dataset = load_from_disk("~/.cache/huggingface/datasets/allenai___tulu-3-sft-mixture-1024")

# 指定保存路径
output_dir = "~/xxx/open-instruct/data/tulu-3-sft-mixture-seqlen-1024-json"

# 将数据集转换为 JSON 格式
for split in dataset.keys():  # 处理所有划分 (train, validation 等)
    dataset[split].to_json(f"{output_dir}/{split}.json", orient="records", lines=True)

这样就可以转换为json了。

查看一下大小:

go 复制代码
ls -sh xxx/open-instruct/data/tulu-3-sft-mixture-seqlen-1024-json
total 1.3G
1.3G train.json

后记

2024年12月29日20点16分于上海.

相关推荐
liliangcsdn1 天前
OpenAI 如何自定义JSON结构化输出示例
人工智能·json
csdn2015_1 天前
java 把对象转化为json字符串
java·前端·json
咖啡虫1 天前
Hookify 完全使用指南:用对话生成 Claude Code 钩子,告别手写 JSON
自动化·json·效率工具·hooks·ai 编程·claude code·hookify
曦月合一1 天前
访问服务器json接口,将json字符串解析成json格式的demo
运维·服务器·json
云姜.2 天前
JSON Schema使用
python·json
电商API&Tina2 天前
唯品会数据采集API接口||电商API数据采集
java·javascript·数据库·python·sql·json
李子焱2 天前
第四节:理解 JSON 结构与 Item 概念
json·js·工作流
张涛酱1074562 天前
降低 LLM Token 成本 40-50%:TOON 格式实战
json·ai编程
wefly20172 天前
jsontop.cn使用全攻略:免费无广告的在线工具站,电脑手机通用
开发语言·安全·json·ecmascript·json在线转换
菜鸟程序员专写BUG3 天前
SpringBoot 接口返回异常全集|JSON解析失败/响应乱码/状态码错误完美解决
spring boot·后端·json