MoonDiffusionLab 是基于 MoonBit 纯原生构建的扩散模型(Diffusion Model)原理教学与实验工具箱。项目摒弃了复杂庞大的深度学习框架依赖与高算力黑盒推理,聚焦于 1D/2D 拓扑流形(如双月分布、瑞士卷、高斯环等)在物理时间轴上的加噪与去噪全流程探索。 项目系统实现了线性/余弦噪声方差调度(Noise Schedules)、基于贝叶斯推导的后验解析评分场(Ana
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
MoonDiffusionLab 扩散模型原理实验工具箱
MoonDiffusionLab 是一个基于 MoonBit v0.10.3 纯原生实现的 1D/2D Toy Diffusion 教学与实验工具箱,面向生成模型原理演示、采样过程观察和多模态可视化对比。
快速开始
1. 环境准备与克隆
确保您已安装最新版 MoonBit 工具链(推荐
v0.10.3或以上)。2. 作为依赖包引入 (mooncakes.io)
您可以直接在您的项目中通过
moon add引入本库:3. 本地运行与产物复现
运行内置的实验主程序直接在控制台观看 ASCII 扩散动画:
重复实验与质量报告也可以直接运行:
可视化产物(SVG/HTML)真实落盘复现: 本项目支持将采样流场和多帧交互报告保存为静态文件。您可以直接运行脚本生成(或使用
>重定向输出):仓库同时保留可直接查看的
assets/demo.html与assets/demo.svg示例,便于离线验收和复现实验产物。发布前完整工作链由
cmd/acceptance_gate固化:它会运行六类程序生成数据集与三种采样器的 18 项基准、18 项重复实验、Two Moons 多指标质量阈值、HTML/SVG 结构检查,以及 Markdown/JSON/CSV 导出检查。固定 seed 下的报告可直接作为本地或 CI 验收证据。4. 测试与构建
项目特点
可复现实验基准
benchmark包提供面向实际实验流程的统一评估入口:支持 Uniform、Gaussian、Two Moons、Swiss Roll、GMM Ring 和 Bimodal 六类数据集,覆盖 DDPM、DDIM、Euler 三种采样后端,并计算 Wasserstein 距离、均值误差、方差误差、覆盖率和越界点数。批量结果可导出为 JSON、CSV 或 Markdown,适合接入 CI、Notebook 和实验报告:该基准使用固定 seed 和程序生成数据,确保在无网络环境下也能复现;它用于回归比较和教学实验,不冒充外部真实数据集的统计结论。
CI
仓库已补充 GitHub Actions 自动化工作流,每次推送时会自动执行以下步骤(不再使用旧版不支持的参数):
代码示例
同一工作流在 Ubuntu、macOS、Windows 三个平台执行 CLI smoke tests,并生成临时 HTML/SVG 产物验证完整工作链。
结项状态
ToyMLP的 DDPM 采样闭环。hxiuzheng/moon_diffusion_lab@0.1.6。assets/)。许可证
Apache-2.0
验收与发布说明
项目的可复现验收命令、功能边界、测试证据和开源合规说明见
docs/ACCEPTANCE_CHECKLIST.md。CI 使用当前 MoonBit CLI 支持的严格命令:moon check --target all --deny-warn、moon fmt、moon info --target all和moon test --deny-warn。正式发布前请确认已使用与
moon.mod中hxiuzheng/moon_diffusion_lab命名空间一致的 mooncakes.io 账号登录;项目不会把账号密码或访问令牌写入 Git remote URL。