Generative-Models 是什么?不用框架,从零用 NumPy、C、CUDA 实现生成模型

sIlENtbuffER/Generative-Models · GitHub
AI 绘画
Star140
近 7 天新增0
编程语言C
开源协议MIT
创建于2026-08-19
最近更新2026-10-06

中文导读

这个项目从零实现生成模型,不使用任何机器学习框架。路线图上的每个模型都会用 NumPy、C、CUDA 三种方式各写一遍,帮助学习者看清算法本身以及框架平时隐藏的张量、内存和 GPU kernel 细节。内容覆盖自回归、GAN、VAE、扩散和 Flow 等方向,适合想深入理解生成模型底层原理并愿意动手实现的人。

根据 GitHub 公开数据,该项目的编程语言为 C,开源协议为 MIT,创建于 2026-08-19,最近更新于 2026-10-06,目前有 140 个 Star。

项目介绍

这是一个从第一性原理出发学习生成模型的项目,全程不使用机器学习框架。项目路线图上的每个模型都会按三种方式实现:先用 NumPy 把算法本身写对,再用 C 手写张量和内存管理,最后用 CUDA 手写 GPU kernel,以此揭示框架通常替使用者隐藏的细节。

项目覆盖自回归、GAN、VAE、扩散、Flow 等多个方向,包括 PixelCNN、DCGAN、VAE、VQ-VAE、DDPM、DDIM、Stable Diffusion、DiT、Flow Matching、Rectified Flow 等模型,并附有对应的原始论文链接。代码分为 numpy_impl、c_impl、cuda_impl 三个目录,训练配置以 JSON 文件给出,数据集支持 MNIST 和 CelebA。

主要功能

适合谁用

适合想深入理解生成模型底层原理、愿意动手用 NumPy、C 或 CUDA 实现算法的开发者与学习者。

快速上手

  1. 克隆仓库:git clone https://github.com/sIlENtbuffER/Generative-Models.git && cd Generative-Models
  2. 有 NVIDIA GPU 时按 README 用 conda 创建带 CUDA 的环境;否则创建 CPU 环境并安装 numpy、matplotlib、pillow、safetensors
  3. 下载并准备数据集,如 MNIST 或 CelebA
  4. 运行 NumPy 实现:python numpy_impl/train.py configs/default.json
  5. 构建并运行 C/CUDA 实现:cmake -G Ninja -B build && cmake --build build,然后执行 ./build/genmodels_train_c configs/default.json 或 ./build/genmodels_train_cuda configs/default.json

Star 增长趋势

140123 · 2026-10-14 至 2026-10-16

同类项目

基于 Gradio 的 Stable Diffusion 网页界面
★ 16.5万 · Python · 更新于 2026-03-02
基于节点图的模块化扩散模型创作引擎
★ 13.8万 · Python · 更新于 2026-10-16
本地运行与训练大模型和扩散模型的桌面应用
★ 7.8万 · Python · 更新于 2026-10-16
开源智能体视频制作系统,让 AI 编程助手变身视频工作室
★ 6.9万 · Python · 更新于 2026-10-12
开源本地 AI 引擎,无需 GPU 即可运行多种模型
★ 5.0万 · Go · 更新于 2026-10-15
在消费级 GPU 上本地运行 MiniMax H3 视频生成
★ 1,970 · Python · 更新于 2026-10-15