การกระจายความเสถียรนำไปใช้โดย NCNN Framework ตาม 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: เร็วขึ้น & น้อยลง RAM ใน x86 รูปร่างแบบไดนามิกใน x86
2023-01-12: อัปเดตเป็นรหัส NCNN ล่าสุดและใช้โมเดลที่ดีที่สุดอัปเดต Android เพิ่ม Memory Monitor
2023-01-05: เพิ่ม 256x256 รุ่นไปยังโครงการ x86
2023-01-04: ผสานและจบ MHA OP ใน x86 เปิดใช้งาน Fast Gelu


ไฟล์ทุกรุ่นและ exe ที่คุณสามารถดาวน์โหลดได้จาก百度网盘หรือ Google Drive หรือ Release
หากคุณต้องการรุ่น 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