纯C语言实现Flux 2图像生成模型,GitHub项目引爆AI推理新潮流
GitHub 上由 antirez(Salvatore Sanfilippo)发起的项目 flux2.c,是一个用纯 C 语言实现的 FLUX.2-klein-4B 图像生成模型推理程序。该项目无需 Python、PyTorch 或 CUDA 工具链,仅依赖标准 C 库,即可在本地运行图像生成任务,支持文本到图像和图像到图像的生成。 项目核心亮点在于:整个代码由 AI 工具 Claude Code 自动生成,开发者本人未编写任何代码。该项目基于 Claude Max 计划(月费约 80 欧元),在周末内完成,验证了现代 AI 在复杂系统开发中的可行性。项目不使用模型量化,直接加载 safetensors 格式的原始模型权重,以浮点数运行,简化了使用流程。 用户可通过命令行直接运行,例如: ./flux -d flux-klein-model -p "一位 1960 年代美国女性,戴太阳镜,ASA 400 胶片,黑白照片" -W 250 -H 250 -o /tmp/woman.png 支持图像到图像生成,通过 -t 参数控制变化强度,实现风格迁移等效果。 项目支持 C 语言库接口,可集成进其他 C/C++ 项目。只需链接 libflux.a 并包含 flux.h,即可调用 flux_generate 实现图像生成。示例代码展示了加载模型、设置参数、生成并保存图像的完整流程。 技术细节方面,FLUX.2-klein-4B 是一个优化快速推理的修正流变换器模型,包含 5 个双块和 20 个单块的 Transformer 结构,3072 隐层维度,24 个注意力头。文本编码器基于 Qwen3-4B,VAE 采用 AutoencoderKL,空间压缩比为 8 倍。推理仅需 4 步采样,内存峰值约 16GB(文本编码器在生成后释放,节省资源)。 支持最大分辨率 1024×1024,最小 64×64,尺寸需为 16 的倍数。生成时种子会输出至 stderr,便于复现结果。 构建时可选择后端:推荐使用 BLAS(如 OpenBLAS)加速,或使用 MPS(Apple Silicon)优化。项目使用 MIT 许可证,开源免费。 该项目不仅是技术实验,更旨在推动非 Python 堆栈的 AI 推理普及,提升开源模型的可访问性与部署灵活性。
