Stable Diffusion NCNN
1.0.0
NCNN框架基於C ++,支持TXT2IMG和IMG2IMG實施穩定擴散!
Zhihu:https://zhuanlan.zhihu.com/p/582552276
視頻:https://www.bilibili.com/video/bv15g411x7hc
txt2img性能(時間pre-it和ram)
| 每個 | I7-12700(512x512) | i7-12700(256x256) | Snapdragon865(256x256) |
|---|---|---|---|
| 慢的 | 4.85S/5.24G(7.07G) | 1.05S/3.58G(4.02G) | 1.6s/2.2g(2.6g) |
| 快速地 | 2.85s/9.47g(11.29g) | 0.65s/5.76g(6.20g) |
2023-03-11:很高興添加IMG2IMG Android並發布新APK
2023-03-10:很高興添加img2img x86
2023-01-19:加快速度,X86中的RAM,X86中的動態形狀
2023-01-12:更新到最新的NCNN代碼並使用優化模型,更新Android,添加內存監視器
2023-01-05:將256x256型號添加到X86項目
2023-01-04:合併並完成X86中的MHA OP,啟用快速凝膠


所有模型和EXE文件,您都可以從百度網盤或Google Drive下載或發布
如果您只需要NCNN型號,則可以從硬件模型庫-設備專用模型搜索它,它將更快,免費。
AutoencoderKL-fp16.bin, FrozenCLIPEmbedder-fp16.bin, UNetModel-MHA-fp16.bin, AutoencoderKL-encoder-512-512-fp16.bin assetsmagic.txt中設置您的配置,每行都是:stable-diffusion.exe注意:請遵守SD模型的要求,不要將其用於非法目的
AutoencoderKL-fp16.bin, FrozenCLIPEmbedder-fp16.bin, UNetModel-MHA-fp16.bin, AutoencoderKL-encoder-512-512-fp16.bin assets cd x86/linux
mkdir -p build && cd build
cmake ..
make -j $( nproc )AutoencoderKL-fp16.bin, FrozenCLIPEmbedder-fp16.bin, UNetModel-MHA-fp16.bin ,然後放置它們來build/assets文件夾./stable-diffusion-ncnnAutoencoderKL-fp16.bin, FrozenCLIPEmbedder-fp16.bin, UNetModel-MHA-fp16.bin然後將它們放在assets文件夾中我已經上傳了穩定擴散使用的三種ONNX模型,以便您可以做一些有趣的工作。
您可以從上面的鏈接中找到它們。
ncnn (input & output): token, multiplier, cond, conds
onnx (input & output): onnx::Reshape_0, 2271
z = onnx(onnx::Reshape_0=token)
origin_mean = z.mean()
z *= multiplier
new_mean = z.mean()
z *= origin_mean / new_mean
conds = torch.concat([cond,z], dim=- 2 ) ncnn (input & output): in0, in1, in2, c_in, c_out, outout
onnx (input & output): x, t, cc, out
outout = in0 + onnx(x=in0 * c_in, t=in1, cc=in2) * c_out