
chilloutmix_NiPrunedFp32Fix 模型格式转换PyTorch 转 ONNX / Safetensors 完整指南【免费下载链接】chilloutmix_NiPrunedFp32Fix项目地址: https://ai.gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix如果你正在做 chilloutmix_NiPrunedFp32Fix 模型格式转换大概率卡在同一件事上仓库给的是 PyTorch 的 .bin 权重但你的部署环境只认 ONNX或者想换成加载更快、更安全的 Safetensors。这篇只讲一件事——怎么把这个 Stable Diffusion 模型转成这两种格式转完还能跑通推理。全程是可复制的命令和代码不用自己拼。先看懂三种格式再决定转哪个做 diffusers 模型格式互转之前先拿这张表定方向别白转格式定位典型场景PyTorch.bin原生权重diffusers 直接加载开发调试、微调训练ONNX跨平台推理图可脱离 PyTorch 运行ONNX 推理部署、服务端/端侧加速Safetensors纯张量存储加载快且无代码执行风险生产环境加载、仓库分发一句话判断想给推理提速选 ONNX只想让加载更安全高效就转 Safetensors两者都想要就各转一遍互不冲突。动手前一条命令装依赖pip install torch onnx safetensors diffusers transformers然后把仓库拉到本地后面所有操作都在仓库根目录执行git clone https://gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix cd chilloutmix_NiPrunedFp32Fix仓库里 UNet 权重在 unet/diffusion_pytorch_model.bin结构参数在 unet/config.json下面转换会直接用到。Stable Diffusion 模型转 ONNX导出 UNet 推理图产出是一个unet.onnx文件ONNX Runtime 可以直接加载不再依赖 PyTorch 运行时。from diffusers import StableDiffusionPipeline import torch pipe StableDiffusionPipeline.from_pretrained(./, torch_dtypetorch.float16, safety_checkerNone) unet pipe.unet # 按 UNet 真实输入造 dummy 数据4 通道 latent、64x6477 是 CLIP 文本序列长度 latents torch.randn(1, 4, 64, 64) timestep torch.tensor([1]) hidden torch.randn(1, 77, 768) torch.onnx.export(unet, (latents, timestep, hidden), unet.onnx, opset_version14, do_constant_foldingTrue)产物unet.onnx落在仓库根目录。推理时它和unet/config.json里的结构定义配套使用配置文件本身不用改。PyTorch 转 Safetensors三行换容器这一步只是把权重换个容器存放不重算、不降精度基本秒级完成。import torch from safetensors.torch import save_file # 两个最重的组件逐个转map_locationcpu 避免吃显存 save_file(torch.load(unet/diffusion_pytorch_model.bin, map_locationcpu), unet/diffusion_pytorch_model.safetensors) save_file(torch.load(text_encoder/pytorch_model.bin, map_locationcpu), text_encoder/pytorch_model.safetensors)产物和原 .bin 放在同一目录diffusers 加载时会优先识别 .safetensors旧文件保留或删除都不影响运行。踩坑新手最常撞的三个问题转换时内存爆掉→ 全程用torch.float16加载UNet 和 text_encoder 分开转别一次性全量进内存。加载报 config 不匹配→ 核对unet/config.json的结构参数in_channels、sample_size与model_index.json的组件声明是否一致转换过程中别动这两个文件。ONNX 导出报不支持的算子→ 把opset_version升到 17 再试只导出 UNet 单组件别想一条 pipeline 整图导完。验证出一张图就算转对了最省事的验收标准就一条——原 pipeline 还能正常出图from diffusers import StableDiffusionPipeline import torch pipe StableDiffusionPipeline.from_pretrained(./, torch_dtypetorch.float32, safety_checkerNone) pipe(a beautiful landscape).images[0].save(test.png)test.png正常生成、画面合理就说明 chilloutmix_NiPrunedFp32Fix 模型格式转换完成可以上部署了。万一出问题排查入口就在各组件目录unet/、text_encoder/、vae/下的config.json定义结构model_index.json定义整体拼装关系对照报错先看它们基本就能定位。【免费下载链接】chilloutmix_NiPrunedFp32Fix项目地址: https://ai.gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考