Stable Diffusion NCNN
1.0.0
C ++를 기반으로 NCNN 프레임 워크에 의해 구현 된 안정적인 확산, 지원 된 TXT2IMG 및 IMG2IMG!
Zhihu : https://zhuanlan.zhihu.com/p/582552276
비디오 : https://www.bilibili.com/video/bv15g411x7hc
TXT2IMG 성능 (Time Pre-It 및 RAM)
| Per-It | 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의 속도 업 및 적은 램, x86의 동적 모양
2023-01-12 : 최신 NCNN 코드 업데이트 및 최적화 모델, Android 업데이트, 메모리 모니터 추가
2023-01-05 : x86 프로젝트에 256x256 모델을 추가하십시오
2023-01-04 : x86에서 MHA OP를 병합하고 마무리하고 빠른 Gelu 활성화


百度网盘 또는 Google 드라이브 또는 릴리스에서 다운로드 할 수있는 모든 모델 및 exe 파일
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