ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

用 stable-diffusion.cpp 一次跑通 Chroma1-Radiance 文生图:权重、命令与排错

用 stable-diffusion.cpp 一次跑通 Chroma1-Radiance 文生图:权重、命令与排错 用 stable-diffusion.cpp 一次跑通 Chroma1-Radiance 文生图权重、命令与排错【免费下载链接】stable-diffusion.cppDiffusion model(SD,Flux,Wan,Qwen Image,Z-Image,...) inference in pure C/C项目地址: https://gitcode.com/GitHub_Trending/st/stable-diffusion.cpp这份实战只做一件事在纯 C/C 推理框架 stable-diffusion.cpp 里把 Chroma1-Radiance 文生图模型的权重准备好用一条命令跑起来得到一张举着 chroma radiance cpp 标语牌的猫。跑通之后你就有了一条可以照搬到任意 Linux 机器的 Radiance 蒸馏推理链路也能自行排查结构与参数问题。准备篇权重下载清单与环境先用一句话交代这个模型Chroma1-Radiance 是 Chroma 家族中走 Radiance 蒸馏路线的文生图模型属于 Flux 一脉但直接在像素域工作结构上区别于标准 Chroma v4.0所以权重要单独准备。你需要拿到的只有两类文件扩散模型本体想自行转换 GGUF 的从lodestones/Chroma1-Radiance仓库取原始 safetensors想直接跑的从silveroxides/Chroma1-Radiance-GGUF仓库取预转换 GGUF示例文件名Chroma1-Radiance-v0.4-Q8_0.gguf。文本编码器flux_text_encoders 仓库的t5xxl_fp16.safetensors。为什么只挂 t5xxl 就够了因为在 src/pipeline/model_builders.cpp 里一旦检测到 Chroma 权重conditioner 就按false, 1, false参数构建T5CLIPEmbedder默认不启用掩码、mask_pad 为 1不需要额外 CLIP 权重。下载清单与 docs/chroma_radiance.md 一致内网环境请提前把文件放进本地 models 目录。实战篇可直接运行的完整命令两个权重就位后执行下面这条命令Linux/macOS 写法文档里的.\bin\Release\sd-cli.exe是 Windows 构建产物请以本地构建目录为准./build/bin/sd-cli --diffusion-model models/diffusion_models/Chroma1-Radiance-v0.4-Q8_0.gguf --t5xxl models/clip/t5xxl_fp16.safetensors -p a lovely cat holding a sign says chroma radiance cpp --cfg-scale 4.0 --sampling-method euler -v参数说明示例取值--diffusion-model扩散模型本体的加载位置GGUF 与 safetensors 均可Chroma1-Radiance-v0.4-Q8_0.gguf--t5xxlT5-XXL 文本编码器权重位置该模型唯一需要的文本编码器t5xxl_fp16.safetensors-p/--prompt想生成的画面内容Radiance 直接据此出图a lovely cat holding a sign says chroma radiance cpp--cfg-scale引导强度示例取 4.0Flux 系一般落在 1~4 区间4.0--sampling-method去噪求解器与 4.0 搭配推荐 eulereuler-v输出 LOG_VERBOSE 级细节是核对结构识别是否生效的必备开关—用日志确认配置被正确识别这一步别省。打开-v后有三行输出可以逐条核对自动检测结果using x0 prediction权重中扫到__x0__标识x0 预测已开启src/model/diffusion/flux.hppactual radiance patch size: N从img_in_patch.weight读到的真实 patch 尺寸using fake x2 patch size真实 patch 只有配置值一半时x2 缩放路径被激活src/model/diffusion/flux.hpp。跑通之后输出应该是类似这样的图深入篇原理速览如果想进一步理解 Radiance 和普通 Flux 到底差在哪看 src/model/diffusion/flux.hpp 的forward_chroma_radiance就够了forward()在 L1366-L1396 按版本分流。结构差异集中在四点像素空间输入。版本为VERSION_CHROMA_RADIANCE时in_channels取 3、patch_size取 16L79-L81进网络的就是像素张量本身而非 latent示例命令里没有--vae也是这个原因。Patch 化与可选缩放。先按 patch_size 做 padding 与 patchify若fake_patch_size_x2生效先双线性插值缩小一半再进img_in_patch卷积L1219-L1224源码注释说明这比最近邻插值更稳定。NeRF 解码器。Transformer 主干forward_orig算完后输出 token 与原始 patch 像素经带 DCT 频域条件的NerfEmbedder融合再穿过 4 层NerfGLUBlockunpatchify 后由末层卷积出图L1235-L1261。解码器规模由ChromaRadianceConfigL22-L29默认值决定nerf_hidden_size64、nerf_depth4、nerf_max_freqs8构建期据此生成nerf_blocks.*与nerf_final_layer_conv子图L972-L987。x0 预测。权重含__x0__时输出再经_apply_x0_residual按(noisy - predicted) / timesteps还原预测目标L1184-L1191。调优与排错篇进阶参数与常见问题进阶参数 model-argsRadiance 的文档没有单列 model-args但姊妹篇 docs/chroma.md 暴露了 Chroma 家族的文本编码器参数本模型同样适用chroma_use_t5_maskfalseT5 是否使用注意力掩码chroma_t5_mask_pad掩码 padding 大小传统 Chroma 示例里的--model-args chroma_use_dit_maskfalse --clip-on-cpu可参照迁移。这些参数在 src/conditioning/conditioner.hpp 的parse_key_value_args中解析布尔走parse_strict_bool、整数走parse_strict_int不合规则直接丢弃并打印ignoring invalid Chroma T5 model arg警告。所以务必严格写成keyvalue值类型也要对。量化格式选择两条路。省事路线直接拿 silveroxides 的预转换 GGUF如示例中的 Q8_0跳过转换步骤。自己来路线参照 docs/chroma.md 的-M convert流程输入 safetensors、--type q8_0即可产出同名规则的 Q8_0 GGUF输出文件名可自定义。现象 → 原因 → 处理提示词没生效、画面异常→--t5xxl没加载上日志里有IMPORTANT NOTICE: No text encoders provided, cannot process prompts!src/conditioning/conditioner.hpp→ 检查 t5xxl 权重路径。怀疑结构识别不对→ 没开 verbose → 加-v逐行核对using x0 prediction、actual radiance patch size。找不到可执行文件→ 照抄了文档路径 → 文档里的sd-cli.exe是 Windows 产物Linux 下请找本地构建输出目录里的sd-cli。Chroma1-Radiance 在 stable-diffusion.cpp 里的全部链路就是两份权重加一条命令剩下的结构适配都由源码自动完成。想再看标准 Chroma 与转换流程查 docs/chroma.md想补全 Flux 推理管线的整体图景查 docs/flux.md。【免费下载链接】stable-diffusion.cppDiffusion model(SD,Flux,Wan,Qwen Image,Z-Image,...) inference in pure C/C项目地址: https://gitcode.com/GitHub_Trending/st/stable-diffusion.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表