Buckets:

mishig's picture
|
download
raw
8.07 kB
# Stable Diffusion iş akışları
Stable Diffusion, [CompVis](https://github.com/CompVis), [Stability AI](https://stability.ai/) ve [LAION](https://laion.ai/) araştırmacıları ve mühendisleri tarafından geliştirilen bir metinden görüntüye latent difüzyon modelidir. Latent difüzyon, bellek ve hesaplama karmaşıklığını azaltmak için difüzyon sürecini daha düşük boyutlu bir latent uzayda uygular. Bu spesifik difüzyon modeli türü, Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser ve Björn Ommer tarafından [High-Resolution Image Synthesis with Latent Diffusion Models](https://huggingface.co/papers/2112.10752) makalesinde önerilmiştir.
Stable Diffusion, LAION-5B veri setinin bir alt kümesindeki 512x512 boyutundaki görseller üzerinde eğitilmiştir. Bu model, metin istemlerine göre koşullandırmak için dondurulmuş bir CLIP ViT-L/14 metin kodlayıcı kullanır. 860M parametreli UNet ve 123M parametreli metin kodlayıcısıyla model nispeten hafiftir ve tüketici sınıfı GPU'larda çalıştırılabilir.
Stable Diffusion'un nasıl çalıştığı ve temel latent difüzyon modelinden nasıl farklılaştığına dair daha fazla ayrıntı için Stability AI'nin [düzenlemesini](https://stability.ai/blog/stable-diffusion-announcement) ve daha teknik ayrıntılar için kendi [blog yazımızı](https://huggingface.co/blog/stable_diffusion#how-does-stable-diffusion-work) inceleyin.
Stable Diffusion v1.0'ın orijinal kod tabanını [CompVis/stable-diffusion](https://github.com/CompVis/stable-diffusion) adresinde, Stable Diffusion v2.0'ınkini ise [Stability-AI/stablediffusion](https://github.com/Stability-AI/stablediffusion) adresinde ve çeşitli görevler için orijinal betiklerini bulabilirsiniz. Farklı Stable Diffusion sürümleri ve görevleri için ek resmi kontrol noktaları, [CompVis](https://huggingface.co/CompVis) ve [Stability AI](https://huggingface.co/stabilityai) Hub kuruluşlarında yer almaktadır. Kullanım senaryonuza en uygun kontrol noktasını bulmak için bu kuruluşları keşfedin!
Aşağıdaki tablo, mevcut Stable Diffusion hatlarını, desteklenen görevlerini ve etkileşimli bir demosunu özetlemektedir:
Pipeline
Desteklenen görevler
🤗 Alan
StableDiffusion
metinden görüntüye
StableDiffusionImg2Img
görselden görseli
StableDiffusionInpaint
inpainting
StableDiffusionDepth2Img
derinlikten görüntüye
StableDiffusionImageVariation
görsel çeşitliliği
StableDiffusionPipelineSafe (kullanımdan kaldırıldı; doküman sayfası yok)
filtrelenmiş metinden görüntüye
StableDiffusion2
metinden görüntüye, inpainting, derinlikten görüntüye, süper çözünürlük
StableDiffusionXL
metinden görüntüye, görüntüden görüntüye
StableDiffusionLatentUpscale
super-resolution
StableDiffusionUpscale
super-resolution
StableDiffusionLDM3D
metinden-renge, metinden-derinliğe, metinden-panoramaya
StableDiffusionUpscaleLDM3D
ldm3d süper çözünürlük
## İpuçları
Stable Diffusion pipeline'lerinden en iyi verimi almanıza yardımcı olmak için, performans ve kullanılabilirliği artırmaya yönelik birkaç ipucu aşağıda verilmiştir. Bu ipuçları tüm Stable Diffusion pipeline'ları için geçerlidir.
### Hız ve kalite arasındaki ödünleşimi keşfedin
[StableDiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline) varsayılan olarak [PNDMScheduler](/docs/diffusers/main/tr/api/schedulers/pndm#diffusers.PNDMScheduler) kullanır ancak 🤗 Diffusers, uyumlu birçok başka zamanlayıcı (bunlardan bazıları daha hızlıdır veya daha iyi kalitede çıktı üretir) sunar. Örneğin, varsayılan yerine [EulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/euler#diffusers.EulerDiscreteScheduler) kullanmak istiyorsanız:
```py
from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler
pipeline = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")
pipeline.scheduler = EulerDiscreteScheduler.from_config(pipeline.scheduler.config)
# or
euler_scheduler = EulerDiscreteScheduler.from_pretrained("CompVis/stable-diffusion-v1-4", subfolder="scheduler")
pipeline = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", scheduler=euler_scheduler)
```
### Bellek tasarrufu için pipeline bileşenlerini yeniden kullanın
Belleği tasarruflu kullanmak ve aynı bileşenleri birden çok iş akışında kullanmak için, ağırlıkların RAM'e birden fazla kez yüklenmesini önlemek amacıyla `.components` yöntemini kullanın.
```py
from diffusers import (
StableDiffusionPipeline,
StableDiffusionImg2ImgPipeline,
StableDiffusionInpaintPipeline,
)
text2img = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")
img2img = StableDiffusionImg2ImgPipeline(**text2img.components)
inpaint = StableDiffusionInpaintPipeline(**text2img.components)
# now you can use text2img(...), img2img(...), inpaint(...) just like the call methods of each respective pipeline
```
### `gradio` kullanarak web demoları oluşturun
Stable Diffusion pipeline'leri, web üzerinde güzel ve kullanıcı dostu makine öğrenmesi uygulamaları oluşturmayı kolaylaştıran [Gradio](https://github.com/gradio-app/gradio/) kütüphanesinde otomatik olarak desteklenir. Öncelikle Gradio'nun yüklü olduğundan emin olun:
```sh
pip install -U gradio
```
Ardından, herhangi bir Stable Diffusion tabanlı bir pipeline etrafında bir web demosu oluşturun. Örneğin, Gradio'nun [`Interface.from_pipeline`](https://www.gradio.app/docs/interface#interface-from-pipeline) işleviyle tek satır kodda bir görüntü oluşturma pipeline'ı oluşturabilirsiniz:
```py
from diffusers import StableDiffusionPipeline
import gradio as gr
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")
gr.Interface.from_pipeline(pipe).launch()
```
tarayıcınızda sezgisel bir sürükle-bırak arayüzü açar:
![](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/gradio-panda.png)
Benzer şekilde, bir görüntüden görüntüye hattı için bir demo oluşturabilirsiniz:
```py
from diffusers import StableDiffusionImg2ImgPipeline
import gradio as gr
pipe = StableDiffusionImg2ImgPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
gr.Interface.from_pipeline(pipe).launch()
```
Varsayılan olarak web demosu yerel bir sunucuda çalışır. Bunu başkalarıyla paylaşmak isterseniz, `launch()` içinde `share=True` ayarlayarak geçici bir herkese açık bağlantı oluşturabilirsiniz. Ya da demosunuzu kalıcı bir bağlantı için [Hugging Face Spaces](https://huggingface.co/spaces)https://huggingface.co/spaces üzerinde barındırabilirsiniz.

Xet Storage Details

Size:
8.07 kB
·
Xet hash:
4cce38dcef4caa32624642a55ad16e3f52927429eb5ebddf905dbc27d35a03ff

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.