cad-sft
收藏资源简介:
CAD-SFT 是一个用于CAD代码生成模型监督微调的数据集,包含经过重新格式化的CadQuery代码。数据集包含两个子集(10k和20k样本),每个样本包含三个字段:stem(字符串)、code(字符串)和render_img(图像)。原始几何内容保持不变,仅对Python源代码进行了重新布局,从单行紧凑格式转换为多行链式result = (...)形式,以提高可读性和语言模型训练效果。数据集来源于两个公开资源:cad-recode-v1.5和Text2CAD语料库,并继承了cc-by-nc-4.0许可协议。该数据集特别适用于CAD代码生成、程序合成和计算机辅助设计相关的研究与应用。
CAD-SFT is a dataset for supervised fine-tuning of CAD code generation models, containing reformatted CadQuery code. The dataset includes two subsets (10k and 20k samples), with each sample containing three fields: stem (string), code (string), and render_img (image). The original geometric content remains unchanged; only the Python source code has been rearranged from a single-line compact format to a multi-line chained `result = (...)` form to enhance readability and the effectiveness of language model training. The dataset is derived from two public resources: cad-recode-v1.5 and the Text2CAD corpus, and adopts the CC-BY-NC-4.0 license. This dataset is particularly applicable to research and applications related to CAD code generation, program synthesis, and computer-aided design.
数据集概述:CAD-SFT (reformatted)
基本信息
- 数据集名称:CAD-SFT (reformatted)
- 许可协议:CC-BY-NC-4.0(继承自上游CAD-Recode v1.5)
- 语言:英语
- 标签:CAD、CadQuery、代码生成、SFT
- 仓库地址:https://huggingface.co/datasets/Hula0401/cad-sft
数据集描述
该数据集是经过重新格式化(漂亮打印)的CadQuery代码,专为CAD代码生成模型的监督微调(SFT)而设计。它仅对Python源代码的布局进行了调整(从单行紧凑形式转换为多行链式调用形式),而几何内容保持不变,使其更适合语言模型训练且更易于阅读。
数据子集
数据集包含两个子集,分别来自不同的已发布来源:
| 子集名称 | 样本数量 | 文件大小 | 特征 |
|---|---|---|---|
| cad-recode-10k | 10,000 | 约198 MB | stem(字符串)、code(字符串)、render_img(图像) |
| cad-recode-20k | 20,000 | 约397 MB | stem(字符串)、code(字符串)、render_img(图像) |
所有数据均为训练集(train),无验证集或测试集划分。
数据内容与结构
text2cad/目录:包含171,177个重新格式化的.py文件,以及train.pkl、val.pkl、test.pklcad-recode-v1.5/目录:包含981,865个重新格式化的.py文件(分布在100个批次中),以及982个验证文件、train.pkl、val.pkl和README.md
来源与引用
- cad-recode-v1.5 子集:源自 filapro/cad-recode-v1.5
- 引用论文:Rukhovich等人,2024年,《CAD-Recode: Reverse Engineering CAD Code from Point Clouds》,arXiv:2412.14042
- text2cad 子集:基于Text2CAD语料库,重新用CadQuery代码表达
格式差异示例
原始格式(紧凑单行): python import cadquery as cq w0=cq.Workplane(XY,origin=(-100,0,-14)) r=w0.sketch().face(w0.sketch().push([(100,0)]).circle(100)).finalize().extrude(28)
重新格式化后(多行链式): python import cadquery as cq
result = ( cq.Workplane(XY, origin=(-100, 0, -14)) .sketch() .face( cq.Workplane(XY, origin=(-100, 0, -14)) .sketch() .push([(100, 0)]) .circle(100) ) .finalize() .extrude(28) )
使用方法
解压文件时使用 tar xf <archive> 命令,目录结构与上游布局一致。数据以Parquet格式存储,可通过Hugging Face Datasets库加载。




