five

Shadertoys dataset

收藏
github2024-05-16 更新2024-05-31 收录
下载链接:
https://github.com/Vipitis/shadertoys-dataset
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集由Shadertoy网站上发布的片段着色器程序组成,并附有额外的元数据用于下游过滤。主要用于代码语言模型的各种评估基准,也可用于微调目标。

This dataset comprises fragment shader programs published on the Shadertoy website, accompanied by additional metadata for downstream filtering. It is primarily utilized for various evaluation benchmarks of code language models and can also serve as a fine-tuning target.
创建时间:
2024-03-18
原始信息汇总

Shadertoys-dataset 数据集概述

数据集构成

  • 数据集由来自 Shadertoy 的片段着色器程序组成,并附有额外的元数据用于下游过滤。

数据集用途

  • 主要用于评估代码语言模型的各种基准测试。

数据集存储

  • 数据集托管在 Huggingface,但目前不公开。

数据集相关工作

  • shaders21k:也从 Shadertoy.com 获取着色器程序,但提供渲染帧用于视觉表示学习。
  • The-Stack:包含 GLSL 子集,数据源自 GitHub。
  • The-Stack-v2:数据源自更大的档案。

数据集获取

前提条件

  • 需要 Shadertoy 账户和 API 密钥以访问 public+api 发布的着色器程序。
  • 如需使用 shaders20k,需下载 all_codes.zip 并放置到 ./data/shaders20k/

依赖工具

数据集使用

下载

  • 使用 download.py 脚本下载最新着色器,例如:python download.py --mode full --num_shaders 100
  • 从 shaders20k 数据集提取和翻译着色器:python download.py --mode shaders20k

注释

  • 使用 annotate.py 脚本将嵌套的渲染通道展平为单个字典,并添加相关信息如许可证。

上传(待完成)

  • 构建训练/测试分割并上传到 Huggingface 的脚本尚未编写。

许可证说明

  • 本仓库内容(构建脚本、元数据)根据 Apache 2.0 许可证 分发。数据集内容根据各自许可证分发,尽力注释许可证以允许过滤。
搜集汇总
数据集介绍
main_image_url
构建方式
Shadertoys数据集的构建基于从Shadertoy.com平台获取的片段着色器程序,并通过附加的元数据进行注释,以便于后续的过滤和分析。该数据集的构建过程涉及从Shadertoy API下载着色器程序,并使用tree-sitter-glsl解析这些程序。此外,数据集还通过scancode-toolkit工具进行许可证检测,确保每个着色器程序的许可证信息被准确标注。
特点
Shadertoys数据集的显著特点在于其丰富的元数据注释,包括许可证信息、函数索引和测试验证等,这些注释使得数据集在下游任务中具有高度的可操作性。此外,数据集支持动态分割训练和测试集,基于shaderID的哈希值进行划分,增强了数据集的灵活性和适用性。
使用方法
使用Shadertoys数据集时,用户可以通过提供的脚本进行下载、注释和过滤操作。下载脚本支持从Shadertoy API获取最新的着色器程序,并将其保存为.jsonl格式。注释脚本则用于将嵌套的渲染通道展平,并添加相关的元数据信息。过滤脚本允许用户根据特定的过滤条件对数据进行筛选,最终输出为Arrow格式的数据集,便于直接加载和使用。
背景与挑战
背景概述
Shadertoys数据集是由Shadertoy平台上发布的片段着色器程序组成,并附加了用于下游过滤的元数据。该数据集的主要用途是为代码语言模型提供各种评估基准。Shadertoys数据集的创建旨在解决代码语言模型在处理图形编程语言(如GLSL)时的评估问题,特别是在视觉表现学习领域。该数据集的构建利用了Shadertoy.com的API,并由Vipitis等研究人员或机构主导开发。Shadertoys数据集的发布对图形编程语言模型的评估和改进具有重要意义,尤其是在视觉表现学习和代码生成领域。
当前挑战
Shadertoys数据集在构建过程中面临多项挑战。首先,数据集的构建依赖于Shadertoy.com的API,这要求开发者必须拥有Shadertoy账户和API密钥,增加了数据获取的门槛。其次,数据集的元数据标注和过滤过程复杂,需要对每个着色器程序进行详细的解析和标注,如许可证检测和函数索引等。此外,数据集的结构和内容仍在不断优化中,包括动态分割训练和测试集、添加缩略图等,这些都增加了数据集的维护难度。最后,数据集的许可证标注可能存在不准确或过时的情况,需要用户自行验证,这为数据集的合法使用带来了潜在风险。
常用场景
经典使用场景
Shadertoys数据集的经典使用场景主要集中在代码语言模型的评估基准测试中。该数据集包含了从Shadertoy平台获取的片段着色器程序,并附带了丰富的元数据,便于下游过滤和分析。通过这些着色器程序,研究者可以评估和优化代码语言模型在处理图形编程语言(如GLSL)时的性能和准确性。
实际应用
Shadertoys数据集在实际应用中主要用于图形编程语言的自动化生成和优化。例如,在游戏开发和虚拟现实领域,开发者可以利用该数据集训练模型,自动生成高效的着色器代码,从而减少开发时间和成本。此外,该数据集还可用于教育领域,帮助学生和初学者更好地理解和学习图形编程语言。
衍生相关工作
Shadertoys数据集的发布催生了一系列相关研究工作。例如,shaders21k数据集也从Shadertoy平台获取数据,但专注于提供渲染帧用于视觉表示学习。此外,The-Stack和The-Stack-v2数据集则分别从GitHub和更大的档案中获取GLSL代码,进一步扩展了图形编程语言数据集的应用范围和研究深度。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作