Project Icon

fondant

旨在协同构建和共享数据集的开源数据框架

Fondant是一个开源数据框架,旨在协同构建和共享数据集。它允许用户无需移动源数据即可进行数据初始化、处理和加载,支持可插拔的工作流、自定义组件以及版本追踪与数据浏览。Fondant适用于跨云端环境(如Google Cloud的Vertex和AWS的Sagemaker),使数据处理简单、可扩展,是生产环境中处理和共享数据集的理想选择。

项目介绍:Fondant

Fondant 是一个数据框架,旨在促进联合构建数据集的能力。它专为合作开发和制作数据集设计,鼓励共享可复用的操作以及完整的数据处理流程。Fondant 允许用户初始化数据集,对其应用各种操作,并从其他用户加载数据集,便利了共享操作和数据集版本管理,而这一切都可以在无需移动源数据的情况下进行。

背景与优势

Fondant 的出现旨在解决数据处理中复杂协作的难题。通过 Fondant,用户能够在多个云服务上管理和执行数据操作,使得数据处理过程简单化,且极具分享性。

开始使用 Fondant

使用 Fondant 可以轻松定义由复用组件和自定义组件组成的工作流。比如,用户可以利用 load_from_hf_hub 组件从 Hugging Face Hub 中加载数据集,并通过自定义组件处理这些数据(如调整图像大小),最终生成新的数据集。

import pyarrow as pa
from fondant.dataset import Dataset

# 从 Hugging Face Hub 加载数据初始化数据集
raw_data = Dataset.create(
    "load_from_hf_hub",
    arguments={
        "dataset_name": "fondant-ai/fondant-cc-25m",
        "n_rows_to_load": 100,
    },
    produces={
        "alt_text": pa.string(),
        "image_url": pa.string(),
        "license_location": pa.string(),
        "license_type": pa.string(),
        "webpage_url": pa.string(),
        "surt_url": pa.string(),
        "top_level_domain": pa.string(),
    },
)

# 从 URL 下载图像
images = raw_data.apply(
    "download_images",
    arguments={
        "input_partition_rows": 100,
        "resize_mode": "no",
    },
)

# 调整图像大小
dataset = images.apply(
    "resize_images",
    arguments={
        "resize_width": 128,
        "resize_height": 128,
    },
)

运行你的流水线

一旦建立好流水线,用户可以通过内置的命令行接口轻松运行和编译:

fondant run local pipeline.py

用户可通过 fondant --help 命令了解所有可用的命令和参数。

Fondant 的运作原理

  • 数据集:Fondant 的核心构建块是数据集,一个数据集由多个列组成。用户可以通过处理现有数据集,创建新的数据集。Fondant 优化了数据传输过程,并能根据需要加载和储存列,同时进行分区处理。
  • 操作:对数据集进行的操作会生成新的数据集。操作可包括加载、过滤、新增列等操作,这些操作是可以共享的,便于在其他工作流中复用。
  • 可共享的树形结构:数据集是经过多个操作处理的结果,包含完整的处理历史,用户可以根据现有数据集进行扩展或创建分支。

核心功能

Fondant 提供了以下功能:

  • 组合式的可即插即用数据处理工作流
  • 包含即用型可复用组件的库
  • 简单的 Pandas 数据框接口,用于创建自定义组件
  • 内置数据线索跟踪、缓存和数据浏览器
  • 支持生产级的可扩展部署
  • 支持在不同云平台(如 Google Cloud 的 Vertex、AWS 的 Sagemaker、任意 k8s 集群的 Kubeflow)上的运行整合

示例流水线

Fondant 提供了多个现成的示例流水线,用户可以将其作为起点,以便于探索 Fondant。每个流水线均托管在单独的代码库中,包含教程笔记,用户可以轻松克隆并开始。

安装

要开始使用 Fondant,可以通过以下命令进行基本安装:

pip install fondant

Fondant 还包含额外的依赖项,以支持特定的运行器、存储整合以及将组件发布到注册表。对于本地运行器(docker),默认包括这些依赖项。

贡献方式

Fondant 欢迎各种形式的贡献:

  • 提交问题或错误到 GitHub Issue
  • 提出建议和反馈
  • 欢迎开发者参与框架代码贡献
  • 扩展 Fondant 的可复用组件库

对于想参与 Fondant 开发的用户,可以通过使用 poetry 和 pre-commit 工具进行环境设置,以确保平滑的开发流程。

通过从贡献指南开始,开发者能够了解更多细节以及如何进行有效的贡献。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号