Buckets:
| # DeepFloyd IF | |
| ## Genel Bakış | |
| DeepFloyd IF, yüksek düzeyde fotogerçekçilik ve dil anlama yeteneğine sahip, yeni nesil, son teknoloji, açık kaynaklı bir metinden görüntüye modelidir. Model, dondurulmuş bir metin kodlayıcı ve üç kademeli piksel difüzyon modülünden oluşan modüler bir yapıya sahiptir: | |
| - Aşama 1: metin istemine dayalı olarak 64x64 px görüntü üreten bir temel model, | |
| - Aşama 2: 64x64 px => 256x256 px süper çözünürlük modeli ve | |
| - Aşama 3: 256x256 px => 1024x1024 px süper çözünürlük modeli | |
| Stage 1 ve Stage 2, metin gömlemlerini çıkarmak için T5 dönüştürücüsüne dayalı dondurulmuş bir metin kodlayıcı kullanır; bu gömlemler daha sonra çapraz dikkat ve dikkat havuzlaması ile güçlendirilmiş bir UNet mimarisine aktarılır. Stage 3, [Stability AI'ın x4 Upscaling modeli](https://huggingface.co/stabilityai/stable-diffusion-x4-upscaler)'dir. Sonuç, COCO veri setinde 6,66 sıfır atışlı FID puanı elde ederek mevcut en iyi modelleri geride bırakan son derece verimli bir modeldir. Çalışmamız, kademeli difüzyon modellerinin ilk aşamasında daha büyük UNet mimarilerinin potansiyelini vurguluyor ve metinden görüntüye sentez için umut verici bir gelecek çiziyor. | |
| ## Kullanım | |
| IF'i kullanmadan önce kullanım koşullarını kabul etmeniz gerekir. Bunu yapmak için: | |
| 1. Bir [Hugging Face hesabınız](https://huggingface.co/join) olduğundan ve oturum açtığınızdan emin olun. | |
| 2. [DeepFloyd/IF-I-XL-v1.0](https://huggingface.co/DeepFloyd/IF-I-XL-v1.0) model kartındaki lisansı kabul edin. Stage I model kartındaki lisansı kabul etmek, diğer IF modelleri için de otomatik olarak kabul edilmesini sağlar. | |
| 3. Yerel olarak oturum açtığınızdan emin olun. `huggingface_hub` paketini yükleyin: | |
| ```sh | |
| pip install huggingface_hub --upgrade | |
| ``` | |
| bir Python kabuğunda giriş fonksiyonunu çalıştırın: | |
| ```py | |
| from huggingface_hub import login | |
| login() | |
| ``` | |
| ve [Hugging Face Hub erişim anahtarınızı](https://huggingface.co/docs/hub/security-tokens#what-are-user-access-tokens) girin. | |
| Sonraki adım olarak `diffusers` ve bağımlılıklarını kuruyoruz: | |
| ```sh | |
| pip install -q diffusers accelerate transformers | |
| ``` | |
| Aşağıdaki bölümler, IF'in nasıl kullanılacağına dair daha ayrıntılı örnekler sunar. Özellikle: | |
| - [Metinden Görüntüye Üretim](#text-to-image-generation) | |
| - [Görselden Görsel Üretimi](#text-guided-image-to-image-generation) | |
| - [İçeriden Doldurma (Inpainting)](#text-guided-inpainting-generation) | |
| - [Model ağırlıklarının yeniden kullanımı](#converting-between-different-pipelines) | |
| - [Hız optimizasyonu](#optimizing-for-speed) | |
| - [Bellek optimizasyonu](#optimizing-for-memory) | |
| **Kullanılabilir denetim noktaları** | |
| - *1. Aşama* | |
| - [DeepFloyd/IF-I-XL-v1.0](https://huggingface.co/DeepFloyd/IF-I-XL-v1.0) | |
| - [DeepFloyd/IF-I-L-v1.0](https://huggingface.co/DeepFloyd/IF-I-L-v1.0) | |
| - [DeepFloyd/IF-I-M-v1.0](https://huggingface.co/DeepFloyd/IF-I-M-v1.0) | |
| - *2. Aşama* | |
| - [DeepFloyd/IF-II-L-v1.0](https://huggingface.co/DeepFloyd/IF-II-L-v1.0) | |
| - [DeepFloyd/IF-II-M-v1.0](https://huggingface.co/DeepFloyd/IF-II-M-v1.0) | |
| - *Stage-3* | |
| - [stabilityai/stable-diffusion-x4-upscaler](https://huggingface.co/stabilityai/stable-diffusion-x4-upscaler) | |
| **Google Colab** [](https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/deepfloyd_if_free_tier_google_colab.ipynb) | |
| ### Metinden Görüntüye Üretim | |
| Varsayılan olarak diffusers, tüm IF hattını en az 14 GB VRAM ile çalıştırmak için [model cpu offloading](../../optimization/memory#model-offloading) özelliğinden yararlanır. | |
| ```python | |
| from diffusers import DiffusionPipeline | |
| from diffusers.utils import pt_to_pil, make_image_grid | |
| import torch | |
| # stage 1 | |
| stage_1 = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| stage_1.enable_model_cpu_offload() | |
| # stage 2 | |
| stage_2 = DiffusionPipeline.from_pretrained( | |
| "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", dtype=torch.float16 | |
| ) | |
| stage_2.enable_model_cpu_offload() | |
| # stage 3 | |
| safety_modules = { | |
| "feature_extractor": stage_1.feature_extractor, | |
| "safety_checker": stage_1.safety_checker, | |
| "watermarker": stage_1.watermarker, | |
| } | |
| stage_3 = DiffusionPipeline.from_pretrained( | |
| "stabilityai/stable-diffusion-x4-upscaler", **safety_modules, dtype=torch.float16 | |
| ) | |
| stage_3.enable_model_cpu_offload() | |
| prompt = 'a photo of a kangaroo wearing an orange hoodie and blue sunglasses standing in front of the eiffel tower holding a sign that says "very deep learning"' | |
| generator = torch.manual_seed(1) | |
| # text embeds | |
| prompt_embeds, negative_embeds = stage_1.encode_prompt(prompt) | |
| # stage 1 | |
| stage_1_output = stage_1( | |
| prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, generator=generator, output_type="pt" | |
| ).images | |
| #pt_to_pil(stage_1_output)[0].save("./if_stage_I.png") | |
| # stage 2 | |
| stage_2_output = stage_2( | |
| image=stage_1_output, | |
| prompt_embeds=prompt_embeds, | |
| negative_prompt_embeds=negative_embeds, | |
| generator=generator, | |
| output_type="pt", | |
| ).images | |
| #pt_to_pil(stage_2_output)[0].save("./if_stage_II.png") | |
| # stage 3 | |
| stage_3_output = stage_3(prompt=prompt, image=stage_2_output, noise_level=100, generator=generator).images | |
| #stage_3_output[0].save("./if_stage_III.png") | |
| make_image_grid([pt_to_pil(stage_1_output)[0], pt_to_pil(stage_2_output)[0], stage_3_output[0]], rows=1, rows=3) | |
| ``` | |
| ### Metin Yönlendirmeli Görselden Görsel Üretimi | |
| Aynı IF model ağırlıkları, metin yönlendirmeli görüntüden görüntüye çeviri veya görüntü çeşitlendirmesi için kullanılabilir. Bu durumda, ağırlıkların [IFImg2ImgPipeline](/docs/diffusers/main/tr/api/pipelines/deepfloyd_if#diffusers.IFImg2ImgPipeline) ve [IFImg2ImgSuperResolutionPipeline](/docs/diffusers/main/tr/api/pipelines/deepfloyd_if#diffusers.IFImg2ImgSuperResolutionPipeline) boru hatları kullanılarak yüklendiğinden emin olun. | |
| **Not**: [burada](#converting-between-different-pipelines) açıklandığı gibi [components](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline.components) argümanından yararlanarak metinden görüntüye pipeline'ların ağırlıklarını iki kez yüklemeye gerek kalmadan doğrudan görüntüden görüntüye pipeline'larına taşıyabilirsiniz. | |
| ```python | |
| from diffusers import IFImg2ImgPipeline, IFImg2ImgSuperResolutionPipeline, DiffusionPipeline | |
| from diffusers.utils import pt_to_pil, load_image, make_image_grid | |
| import torch | |
| # download image | |
| url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg" | |
| original_image = load_image(url) | |
| original_image = original_image.resize((768, 512)) | |
| # stage 1 | |
| stage_1 = IFImg2ImgPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| stage_1.enable_model_cpu_offload() | |
| # stage 2 | |
| stage_2 = IFImg2ImgSuperResolutionPipeline.from_pretrained( | |
| "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", dtype=torch.float16 | |
| ) | |
| stage_2.enable_model_cpu_offload() | |
| # stage 3 | |
| safety_modules = { | |
| "feature_extractor": stage_1.feature_extractor, | |
| "safety_checker": stage_1.safety_checker, | |
| "watermarker": stage_1.watermarker, | |
| } | |
| stage_3 = DiffusionPipeline.from_pretrained( | |
| "stabilityai/stable-diffusion-x4-upscaler", **safety_modules, dtype=torch.float16 | |
| ) | |
| stage_3.enable_model_cpu_offload() | |
| prompt = "A fantasy landscape in style minecraft" | |
| generator = torch.manual_seed(1) | |
| # text embeds | |
| prompt_embeds, negative_embeds = stage_1.encode_prompt(prompt) | |
| # stage 1 | |
| stage_1_output = stage_1( | |
| image=original_image, | |
| prompt_embeds=prompt_embeds, | |
| negative_prompt_embeds=negative_embeds, | |
| generator=generator, | |
| output_type="pt", | |
| ).images | |
| #pt_to_pil(stage_1_output)[0].save("./if_stage_I.png") | |
| # stage 2 | |
| stage_2_output = stage_2( | |
| image=stage_1_output, | |
| original_image=original_image, | |
| prompt_embeds=prompt_embeds, | |
| negative_prompt_embeds=negative_embeds, | |
| generator=generator, | |
| output_type="pt", | |
| ).images | |
| #pt_to_pil(stage_2_output)[0].save("./if_stage_II.png") | |
| # stage 3 | |
| stage_3_output = stage_3(prompt=prompt, image=stage_2_output, generator=generator, noise_level=100).images | |
| #stage_3_output[0].save("./if_stage_III.png") | |
| make_image_grid([original_image, pt_to_pil(stage_1_output)[0], pt_to_pil(stage_2_output)[0], stage_3_output[0]], rows=1, rows=4) | |
| ``` | |
| ### Metin Yönlendirmeli Inpainting Üretimi | |
| Aynı IF model ağırlıkları, metin yönlendirmeli görüntüden görüntüye çeviri veya görüntü çeşitlendirmesi için kullanılabilir. Bu durumda, ağırlıkların [IFInpaintingPipeline](/docs/diffusers/main/tr/api/pipelines/deepfloyd_if#diffusers.IFInpaintingPipeline) ve [IFInpaintingSuperResolutionPipeline](/docs/diffusers/main/tr/api/pipelines/deepfloyd_if#diffusers.IFInpaintingSuperResolutionPipeline) hatları kullanılarak yüklendiğinden emin olun. | |
| **Not**: [burada](#converting-between-different-pipelines) açıklandığı gibi `~DiffusionPipeline.components()` işlevinden yararlanarak metinden görüntüye pipeline'ların ağırlıklarını iki kez yüklemeye gerek kalmadan doğrudan görüntüden görüntüye pipeline'larına taşıyabilirsiniz. | |
| ```python | |
| from diffusers import IFInpaintingPipeline, IFInpaintingSuperResolutionPipeline, DiffusionPipeline | |
| from diffusers.utils import pt_to_pil, load_image, make_image_grid | |
| import torch | |
| # download image | |
| url = "https://huggingface.co/datasets/diffusers/docs-images/resolve/main/if/person.png" | |
| original_image = load_image(url) | |
| # download mask | |
| url = "https://huggingface.co/datasets/diffusers/docs-images/resolve/main/if/glasses_mask.png" | |
| mask_image = load_image(url) | |
| # stage 1 | |
| stage_1 = IFInpaintingPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| stage_1.enable_model_cpu_offload() | |
| # stage 2 | |
| stage_2 = IFInpaintingSuperResolutionPipeline.from_pretrained( | |
| "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", dtype=torch.float16 | |
| ) | |
| stage_2.enable_model_cpu_offload() | |
| # stage 3 | |
| safety_modules = { | |
| "feature_extractor": stage_1.feature_extractor, | |
| "safety_checker": stage_1.safety_checker, | |
| "watermarker": stage_1.watermarker, | |
| } | |
| stage_3 = DiffusionPipeline.from_pretrained( | |
| "stabilityai/stable-diffusion-x4-upscaler", **safety_modules, dtype=torch.float16 | |
| ) | |
| stage_3.enable_model_cpu_offload() | |
| prompt = "blue sunglasses" | |
| generator = torch.manual_seed(1) | |
| # text embeds | |
| prompt_embeds, negative_embeds = stage_1.encode_prompt(prompt) | |
| # stage 1 | |
| stage_1_output = stage_1( | |
| image=original_image, | |
| mask_image=mask_image, | |
| prompt_embeds=prompt_embeds, | |
| negative_prompt_embeds=negative_embeds, | |
| generator=generator, | |
| output_type="pt", | |
| ).images | |
| #pt_to_pil(stage_1_output)[0].save("./if_stage_I.png") | |
| # stage 2 | |
| stage_2_output = stage_2( | |
| image=stage_1_output, | |
| original_image=original_image, | |
| mask_image=mask_image, | |
| prompt_embeds=prompt_embeds, | |
| negative_prompt_embeds=negative_embeds, | |
| generator=generator, | |
| output_type="pt", | |
| ).images | |
| #pt_to_pil(stage_1_output)[0].save("./if_stage_II.png") | |
| # stage 3 | |
| stage_3_output = stage_3(prompt=prompt, image=stage_2_output, generator=generator, noise_level=100).images | |
| #stage_3_output[0].save("./if_stage_III.png") | |
| make_image_grid([original_image, mask_image, pt_to_pil(stage_1_output)[0], pt_to_pil(stage_2_output)[0], stage_3_output[0]], rows=1, rows=5) | |
| ``` | |
| ### Farklı pipeline'lar arasında dönüştürme | |
| `from_pretrained` ile yüklenmesinin yanı sıra, Pipelines doğrudan birbirinden de yüklenebilir. | |
| ```python | |
| from diffusers import IFPipeline, IFSuperResolutionPipeline | |
| pipe_1 = IFPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0") | |
| pipe_2 = IFSuperResolutionPipeline.from_pretrained("DeepFloyd/IF-II-L-v1.0") | |
| from diffusers import IFImg2ImgPipeline, IFImg2ImgSuperResolutionPipeline | |
| pipe_1 = IFImg2ImgPipeline(**pipe_1.components) | |
| pipe_2 = IFImg2ImgSuperResolutionPipeline(**pipe_2.components) | |
| from diffusers import IFInpaintingPipeline, IFInpaintingSuperResolutionPipeline | |
| pipe_1 = IFInpaintingPipeline(**pipe_1.components) | |
| pipe_2 = IFInpaintingSuperResolutionPipeline(**pipe_2.components) | |
| ``` | |
| ### Hız için optimizasyon | |
| IF'i daha hızlı çalıştırmak için en basit optimizasyon, tüm model bileşenlerini GPU'ya taşımaktır. | |
| ```py | |
| pipe = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| ``` | |
| Ayrıca, difüzyon sürecini daha kısa bir zaman adımı sayısı için de çalıştırabilirsiniz. | |
| Bu, `num_inference_steps` argümanı ile yapılabilir: | |
| ```py | |
| pipe("<prompt>", num_inference_steps=30) | |
| ``` | |
| Veya `timesteps` argümanı ile: | |
| ```py | |
| from diffusers.pipelines.deepfloyd_if import fast27_timesteps | |
| pipe("<prompt>", timesteps=fast27_timesteps) | |
| ``` | |
| Görsel çeşitlendirme veya inpainting yaparken, strength argümanı ile timestep sayısını da azaltabilirsiniz. strength argümanı, girdi görseline eklenecek gürültü miktarını belirler ve bu da gürültü azaltma sürecinde kaç adım çalıştırılacağını belirler. Daha küçük bir değer, görseli daha az değiştirir ancak daha hızlı çalışır. | |
| ```py | |
| pipe = IFImg2ImgPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| image = pipe(image=image, prompt="<prompt>", strength=0.3).images | |
| ``` | |
| [`torch.compile`](../../optimization/fp16#torchcompile) kullanabilirsiniz. `torch.compile`'in IF ile kapsamlı olarak test edilmediğini ve beklenen sonuçları veremeyebileceğini unutmayın. | |
| ```py | |
| from diffusers import DiffusionPipeline | |
| import torch | |
| pipe = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| pipe.text_encoder = torch.compile(pipe.text_encoder, mode="reduce-overhead", fullgraph=True) | |
| pipe.unet = torch.compile(pipe.unet, mode="reduce-overhead", fullgraph=True) | |
| ``` | |
| ### Bellek için optimizasyon | |
| GPU belleği için optimizasyon yaparken, standart diffusers CPU offloading API'lerini kullanabiliriz. | |
| Model tabanlı CPU'ya aktarma, | |
| ```py | |
| pipe = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| pipe.enable_model_cpu_offload() | |
| ``` | |
| veya daha agresif katman tabanlı CPU dışa aktarma. | |
| ```py | |
| pipe = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", dtype=torch.float16) | |
| pipe.enable_sequential_cpu_offload() | |
| ``` | |
| Ayrıca, T5 8bit hassasiyette yüklenebilir | |
| ```py | |
| from transformers import T5EncoderModel | |
| text_encoder = T5EncoderModel.from_pretrained( | |
| "DeepFloyd/IF-I-XL-v1.0", subfolder="text_encoder", device_map="auto", load_in_8bit=True, variant="8bit" | |
| ) | |
| from diffusers import DiffusionPipeline | |
| pipe = DiffusionPipeline.from_pretrained( | |
| "DeepFloyd/IF-I-XL-v1.0", | |
| text_encoder=text_encoder, # pass the previously instantiated 8bit text encoder | |
| unet=None, | |
| device_map="auto", | |
| ) | |
| prompt_embeds, negative_embeds = pipe.encode_prompt("<prompt>") | |
| ``` | |
| Google Colab ücretsiz katmanı gibi CPU RAM'i kısıtlı makinelerde, tüm model bileşenlerini aynı anda CPU'ya yükleyemediğimiz durumlarda, ilgili model bileşenleri gerektiğinde yalnızca metin kodlayıcıya veya UNet'e sahip pipeline'ı manuel olarak yükleyebiliriz. | |
| ```py | |
| from diffusers import IFPipeline, IFSuperResolutionPipeline | |
| import torch | |
| import gc | |
| from transformers import T5EncoderModel | |
| from diffusers.utils import pt_to_pil, make_image_grid | |
| text_encoder = T5EncoderModel.from_pretrained( | |
| "DeepFloyd/IF-I-XL-v1.0", subfolder="text_encoder", device_map="auto", load_in_8bit=True, variant="8bit" | |
| ) | |
| # text to image | |
| pipe = DiffusionPipeline.from_pretrained( | |
| "DeepFloyd/IF-I-XL-v1.0", | |
| text_encoder=text_encoder, # pass the previously instantiated 8bit text encoder | |
| unet=None, | |
| device_map="auto", | |
| ) | |
| prompt = 'a photo of a kangaroo wearing an orange hoodie and blue sunglasses standing in front of the eiffel tower holding a sign that says "very deep learning"' | |
| prompt_embeds, negative_embeds = pipe.encode_prompt(prompt) | |
| # Remove the pipeline so we can re-load the pipeline with the unet | |
| del text_encoder | |
| del pipe | |
| gc.collect() | |
| torch.cuda.empty_cache() | |
| pipe = IFPipeline.from_pretrained( | |
| "DeepFloyd/IF-I-XL-v1.0", text_encoder=None, variant="fp16", dtype=torch.float16, device_map="auto" | |
| ) | |
| generator = torch.Generator().manual_seed(0) | |
| stage_1_output = pipe( | |
| prompt_embeds=prompt_embeds, | |
| negative_prompt_embeds=negative_embeds, | |
| output_type="pt", | |
| generator=generator, | |
| ).images | |
| #pt_to_pil(stage_1_output)[0].save("./if_stage_I.png") | |
| # Remove the pipeline so we can load the super-resolution pipeline | |
| del pipe | |
| gc.collect() | |
| torch.cuda.empty_cache() | |
| # First super resolution | |
| pipe = IFSuperResolutionPipeline.from_pretrained( | |
| "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", dtype=torch.float16, device_map="auto" | |
| ) | |
| generator = torch.Generator().manual_seed(0) | |
| stage_2_output = pipe( | |
| image=stage_1_output, | |
| prompt_embeds=prompt_embeds, | |
| negative_prompt_embeds=negative_embeds, | |
| output_type="pt", | |
| generator=generator, | |
| ).images | |
| #pt_to_pil(stage_2_output)[0].save("./if_stage_II.png") | |
| make_image_grid([pt_to_pil(stage_1_output)[0], pt_to_pil(stage_2_output)[0]], rows=1, rows=2) | |
| ``` | |
| ## Kullanılabilir Boru Hatları: | |
| | Hattı | Görevler | Colab | |
| |---|---|:---:| | |
| | [pipeline_if.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py) | *Metinden Görüntüye Üretim* | - | | |
| | [pipeline_if_superresolution.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py) | *Metinden Görüntüye Üretim* | - | | |
| | [pipeline_if_img2img.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py) | *Görselden Görsel Üretimi* | - | | |
| | [pipeline_if_img2img_superresolution.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py) | *Görselden Görsel Üretimi* | - | | |
| | [pipeline_if_inpainting.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py) | *Görselden Görsel Üretimi* | - | | |
| | [pipeline_if_inpainting_superresolution.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py) | *Görselden Görsel Üretimi* | - | | |
| ## IFPipeline[[diffusers.IFPipeline]] | |
| #### diffusers.IFPipeline[[diffusers.IFPipeline]] | |
| ```python | |
| diffusers.IFPipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: UNet2DConditionModel, scheduler: DDPMScheduler, safety_checker: diffusers.pipelines.deepfloyd_if.safety_checker.IFSafetyChecker | None, feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None, watermarker: diffusers.pipelines.deepfloyd_if.watermark.IFWatermarker | None, requires_safety_checker: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py#L96) | |
| #### __call__[[diffusers.IFPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, num_inference_steps: int = 100, timesteps: list = None, guidance_scale: float = 7.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, height: int | None = None, width: int | None = None, eta: float = 0.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, clean_caption: bool = True, cross_attention_kwargs: dict[str, typing.Any] | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py#L547) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 100) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. | |
| timesteps (`list[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, eşit aralıklı `num_inference_steps` zaman adımı kullanılır. Azalan sırada olmalıdır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 7.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'deki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| height (`int`, *isteğe bağlı*, varsayılan: self.unet.config.sample_size) : Üretilen görüntünün piksel cinsinden yüksekliği. | |
| width (`int`, *isteğe bağlı*, varsayılan: self.unet.config.sample_size) : Üretilen görüntünün piksel cinsinden genişliği. | |
| eta (`float`, *isteğe bağlı*, varsayılan 0.0) : DDIM makalesindeki eta (η) parametresine karşılık gelir: https://huggingface.co/papers/2010.02502. Yalnızca [schedulers.DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir, diğerlerinde yok sayılır. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya [torch üreteci(leri)](https://pytorch.org/docs/stable/generated/torch.Generator.html) listesi. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` veya `np.array` arasında seçim yapın. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~pipelines.stable_diffusion.IFPipelineOutput` döndürülecek mi? | |
| callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılacak bir işlev. İşlev aşağıdaki argümanlarla çağrılacaktır: `callback(step: int, timestep: int, latents: torch.Tensor)`. | |
| callback_steps (`int`, *opsiyonel*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır. | |
| clean_caption (`bool`, *isteğe bağlı*, varsayılan `True`) : Embedding oluşturulmadan önce başlığın temizlenip temizlenmeyeceğini belirtir. Bunun için `beautifulsoup4` ve `ftfy` paketlerinin yüklü olması gerekir. Bağımlılıklar yüklü değilse, embedding'ler ham istemden oluşturulur. | |
| cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü. | |
| **Dönüş:** `~pipelines.stable_diffusion.IFPipelineOutput` veya `tuple` | |
| `~pipelines.stable_diffusion.IFPipelineOutput` if `return_dict` is True, otherwise a `tuple. When returning a tuple, the first element is a list with the generated images, and the second element is a list of `bool`s denoting whether the corresponding generated image likely represents "not-safe-for-work" (nsfw) or watermarked content, according to the `safety_checker`. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> from diffusers import IFPipeline, IFSuperResolutionPipeline, DiffusionPipeline | |
| >>> from diffusers.utils import pt_to_pil | |
| >>> import torch | |
| >>> pipe = IFPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", torch_dtype=torch.float16) | |
| >>> pipe.enable_model_cpu_offload() | |
| >>> prompt = 'a photo of a kangaroo wearing an orange hoodie and blue sunglasses standing in front of the eiffel tower holding a sign that says "very deep learning"' | |
| >>> prompt_embeds, negative_embeds = pipe.encode_prompt(prompt) | |
| >>> image = pipe(prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, output_type="pt").images | |
| >>> # save intermediate image | |
| >>> pil_image = pt_to_pil(image) | |
| >>> pil_image[0].save("./if_stage_I.png") | |
| >>> super_res_1_pipe = IFSuperResolutionPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", torch_dtype=torch.float16 | |
| ... ) | |
| >>> super_res_1_pipe.enable_model_cpu_offload() | |
| >>> image = super_res_1_pipe( | |
| ... image=image, prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, output_type="pt" | |
| ... ).images | |
| >>> # save intermediate image | |
| >>> pil_image = pt_to_pil(image) | |
| >>> pil_image[0].save("./if_stage_I.png") | |
| >>> safety_modules = { | |
| ... "feature_extractor": pipe.feature_extractor, | |
| ... "safety_checker": pipe.safety_checker, | |
| ... "watermarker": pipe.watermarker, | |
| ... } | |
| >>> super_res_2_pipe = DiffusionPipeline.from_pretrained( | |
| ... "stabilityai/stable-diffusion-x4-upscaler", **safety_modules, torch_dtype=torch.float16 | |
| ... ) | |
| >>> super_res_2_pipe.enable_model_cpu_offload() | |
| >>> image = super_res_2_pipe( | |
| ... prompt=prompt, | |
| ... image=image, | |
| ... ).images | |
| >>> image[0].save("./if_stage_II.png") | |
| ``` | |
| #### encode_prompt[[diffusers.IFPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], do_classifier_free_guidance: bool = True, num_images_per_prompt: int = 1, device: typing.Optional[torch.device] = None, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, clean_caption: bool = False) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py#L168) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| do_classifier_free_guidance (`bool`, *isteğe bağlı*, varsayılan `True`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : her istem için oluşturulacak görsel sayısı | |
| device : (`torch.device`, *isteğe bağlı*): Sonuç olarak elde edilen gömme vektörlerinin yerleştirileceği torch cihazı | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani `guidance_scale`, `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| clean_caption (bool, varsayılan `False`) : `True` ise, fonksiyon kodlamadan önce sağlanan başlığı ön işler ve temizler. | |
| İsteği metin kodlayıcı gizli durumlarına kodlar. | |
| ## IFSuperResolutionPipeline[[diffusers.IFSuperResolutionPipeline]] | |
| #### diffusers.IFSuperResolutionPipeline[[diffusers.IFSuperResolutionPipeline]] | |
| ```python | |
| diffusers.IFSuperResolutionPipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: UNet2DConditionModel, scheduler: DDPMScheduler, image_noising_scheduler: DDPMScheduler, safety_checker: diffusers.pipelines.deepfloyd_if.safety_checker.IFSafetyChecker | None, feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None, watermarker: diffusers.pipelines.deepfloyd_if.watermark.IFWatermarker | None, requires_safety_checker: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py#L82) | |
| #### __call__[[diffusers.IFSuperResolutionPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, height: int = None, width: int = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor] = None, num_inference_steps: int = 50, timesteps: list = None, guidance_scale: float = 4.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float = 0.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, cross_attention_kwargs: dict[str, typing.Any] | None = None, noise_level: int = 250, clean_caption: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py#L614) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir. | |
| height (`int`, *isteğe bağlı*, varsayılanı None) : Üretilen görüntünün piksel cinsinden yüksekliği. | |
| width (`int`, *isteğe bağlı*, varsayılanı None) : Üretilen görüntünün piksel cinsinden genişliği. | |
| image (`PIL.Image.Image`, `np.ndarray`, `torch.Tensor`) : Ölçeklendirilecek görüntü. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 50) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. | |
| timesteps (`list[int]`, *isteğe bağlı*, varsayılan None) : Gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, eşit aralıklı `num_inference_steps` zaman adımı kullanılır. Azalan sırada olmalıdır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 4.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'deki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| eta (`float`, *isteğe bağlı*, varsayılan 0.0) : DDIM makalesindeki eta (η) parametresine karşılık gelir: https://huggingface.co/papers/2010.02502. Yalnızca [schedulers.DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir, diğerlerinde yok sayılır. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya [torch üreteci(leri)](https://pytorch.org/docs/stable/generated/torch.Generator.html) listesi. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` veya `np.array` arasında seçim yapın. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~pipelines.stable_diffusion.IFPipelineOutput` döndürülecek mi? | |
| callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılacak bir işlev. İşlev aşağıdaki argümanlarla çağrılacaktır: `callback(step: int, timestep: int, latents: torch.Tensor)`. | |
| callback_steps (`int`, *opsiyonel*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır. | |
| cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü. | |
| noise_level (`int`, *opsiyonel*, varsayılan 250) : Ölçeklendirilmiş görüntüye eklenecek gürültü miktarı. `[0, 1000)` aralığında olmalıdır. | |
| clean_caption (`bool`, *isteğe bağlı*, varsayılan `True`) : Embedding oluşturulmadan önce başlığın temizlenip temizlenmeyeceğini belirtir. Bunun için `beautifulsoup4` ve `ftfy` paketlerinin yüklü olması gerekir. Bağımlılıklar yüklü değilse, embedding'ler ham istemden oluşturulur. | |
| **Dönüş:** `~pipelines.stable_diffusion.IFPipelineOutput` veya `tuple` | |
| `~pipelines.stable_diffusion.IFPipelineOutput` if `return_dict` is True, otherwise a `tuple. When returning a tuple, the first element is a list with the generated images, and the second element is a list of `bool`s denoting whether the corresponding generated image likely represents "not-safe-for-work" (nsfw) or watermarked content, according to the `safety_checker`. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> from diffusers import IFPipeline, IFSuperResolutionPipeline, DiffusionPipeline | |
| >>> from diffusers.utils import pt_to_pil | |
| >>> import torch | |
| >>> pipe = IFPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", torch_dtype=torch.float16) | |
| >>> pipe.enable_model_cpu_offload() | |
| >>> prompt = 'a photo of a kangaroo wearing an orange hoodie and blue sunglasses standing in front of the eiffel tower holding a sign that says "very deep learning"' | |
| >>> prompt_embeds, negative_embeds = pipe.encode_prompt(prompt) | |
| >>> image = pipe(prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, output_type="pt").images | |
| >>> # save intermediate image | |
| >>> pil_image = pt_to_pil(image) | |
| >>> pil_image[0].save("./if_stage_I.png") | |
| >>> super_res_1_pipe = IFSuperResolutionPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", torch_dtype=torch.float16 | |
| ... ) | |
| >>> super_res_1_pipe.enable_model_cpu_offload() | |
| >>> image = super_res_1_pipe( | |
| ... image=image, prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds | |
| ... ).images | |
| >>> image[0].save("./if_stage_II.png") | |
| ``` | |
| #### encode_prompt[[diffusers.IFSuperResolutionPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], do_classifier_free_guidance: bool = True, num_images_per_prompt: int = 1, device: typing.Optional[torch.device] = None, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, clean_caption: bool = False) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py#L302) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| do_classifier_free_guidance (`bool`, *isteğe bağlı*, varsayılan `True`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : her istem için oluşturulacak görsel sayısı | |
| device : (`torch.device`, *isteğe bağlı*): Sonuç olarak elde edilen gömme vektörlerinin yerleştirileceği torch cihazı | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani `guidance_scale`, `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| clean_caption (bool, varsayılan `False`) : `True` ise, fonksiyon kodlamadan önce sağlanan başlığı ön işler ve temizler. | |
| İsteği metin kodlayıcı gizli durumlarına kodlar. | |
| ## IFImg2ImgPipeline[[diffusers.IFImg2ImgPipeline]] | |
| #### diffusers.IFImg2ImgPipeline[[diffusers.IFImg2ImgPipeline]] | |
| ```python | |
| diffusers.IFImg2ImgPipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: UNet2DConditionModel, scheduler: DDPMScheduler, safety_checker: diffusers.pipelines.deepfloyd_if.safety_checker.IFSafetyChecker | None, feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None, watermarker: diffusers.pipelines.deepfloyd_if.watermark.IFWatermarker | None, requires_safety_checker: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py#L120) | |
| #### __call__[[diffusers.IFImg2ImgPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, image: typing.Union[PIL.Image.Image, torch.Tensor, numpy.ndarray, list[PIL.Image.Image], list[torch.Tensor], list[numpy.ndarray]] = None, strength: float = 0.7, num_inference_steps: int = 80, timesteps: list = None, guidance_scale: float = 10.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float = 0.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, clean_caption: bool = True, cross_attention_kwargs: dict[str, typing.Any] | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py#L661) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir. | |
| image (`torch.Tensor` veya `PIL.Image.Image`) : `Image`, veya bir görüntü grubunu temsil eden tensör; süreç için başlangıç noktası olarak kullanılacaktır. | |
| strength (`float`, *opsiyonel*, varsayılan 0.7) : Kavramsal olarak, referans `image`'in ne kadar dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılacak ve `strength` değeri arttıkça ona daha fazla gürültü eklenecektir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır. `strength` 1 olduğunda, eklenen gürültü maksimum seviyede olacak ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışacaktır. Dolayısıyla 1 değeri, `image`'i temelde yok sayar. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 80) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. | |
| timesteps (`list[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, eşit aralıklı `num_inference_steps` zaman adımı kullanılır. Azalan sırada olmalıdır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 10.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı üzere yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'deki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| eta (`float`, *isteğe bağlı*, varsayılan 0.0) : DDIM makalesindeki eta (η) parametresine karşılık gelir: https://huggingface.co/papers/2010.02502. Yalnızca [schedulers.DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir, diğerlerinde yok sayılır. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya [torch üreteci(leri)](https://pytorch.org/docs/stable/generated/torch.Generator.html) listesi. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` veya `np.array` arasında seçim yapın. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~pipelines.stable_diffusion.IFPipelineOutput` döndürülecek mi? | |
| callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılacak bir işlev. İşlev aşağıdaki argümanlarla çağrılacaktır: `callback(step: int, timestep: int, latents: torch.Tensor)`. | |
| callback_steps (`int`, *opsiyonel*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır. | |
| clean_caption (`bool`, *isteğe bağlı*, varsayılan `True`) : Embedding oluşturulmadan önce başlığın temizlenip temizlenmeyeceğini belirtir. Bunun için `beautifulsoup4` ve `ftfy` paketlerinin yüklü olması gerekir. Bağımlılıklar yüklü değilse, embedding'ler ham istemden oluşturulur. | |
| cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü. | |
| **Dönüş:** `~pipelines.stable_diffusion.IFPipelineOutput` veya `tuple` | |
| `~pipelines.stable_diffusion.IFPipelineOutput` if `return_dict` is True, otherwise a `tuple. When returning a tuple, the first element is a list with the generated images, and the second element is a list of `bool`s denoting whether the corresponding generated image likely represents "not-safe-for-work" (nsfw) or watermarked content, according to the `safety_checker`. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> from diffusers import IFImg2ImgPipeline, IFImg2ImgSuperResolutionPipeline, DiffusionPipeline | |
| >>> from diffusers.utils import pt_to_pil | |
| >>> import torch | |
| >>> from PIL import Image | |
| >>> import requests | |
| >>> from io import BytesIO | |
| >>> url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg" | |
| >>> response = requests.get(url) | |
| >>> original_image = Image.open(BytesIO(response.content)).convert("RGB") | |
| >>> original_image = original_image.resize((768, 512)) | |
| >>> pipe = IFImg2ImgPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-I-XL-v1.0", | |
| ... variant="fp16", | |
| ... torch_dtype=torch.float16, | |
| ... ) | |
| >>> pipe.enable_model_cpu_offload() | |
| >>> prompt = "A fantasy landscape in style minecraft" | |
| >>> prompt_embeds, negative_embeds = pipe.encode_prompt(prompt) | |
| >>> image = pipe( | |
| ... image=original_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... output_type="pt", | |
| ... ).images | |
| >>> # save intermediate image | |
| >>> pil_image = pt_to_pil(image) | |
| >>> pil_image[0].save("./if_stage_I.png") | |
| >>> super_res_1_pipe = IFImg2ImgSuperResolutionPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-II-L-v1.0", | |
| ... text_encoder=None, | |
| ... variant="fp16", | |
| ... torch_dtype=torch.float16, | |
| ... ) | |
| >>> super_res_1_pipe.enable_model_cpu_offload() | |
| >>> image = super_res_1_pipe( | |
| ... image=image, | |
| ... original_image=original_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... ).images | |
| >>> image[0].save("./if_stage_II.png") | |
| ``` | |
| #### encode_prompt[[diffusers.IFImg2ImgPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], do_classifier_free_guidance: bool = True, num_images_per_prompt: int = 1, device: typing.Optional[torch.device] = None, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, clean_caption: bool = False) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py#L192) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| do_classifier_free_guidance (`bool`, *isteğe bağlı*, varsayılan `True`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : her istem için oluşturulacak görsel sayısı | |
| device : (`torch.device`, *isteğe bağlı*): Sonuç olarak elde edilen gömme vektörlerinin yerleştirileceği torch cihazı | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani `guidance_scale`, `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| clean_caption (bool, varsayılan `False`) : `True` ise, fonksiyon kodlamadan önce sağlanan başlığı ön işler ve temizler. | |
| İsteği metin kodlayıcı gizli durumlarına kodlar. | |
| ## IFImg2ImgSuperResolutionPipeline[[diffusers.IFImg2ImgSuperResolutionPipeline]] | |
| #### diffusers.IFImg2ImgSuperResolutionPipeline[[diffusers.IFImg2ImgSuperResolutionPipeline]] | |
| ```python | |
| diffusers.IFImg2ImgSuperResolutionPipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: UNet2DConditionModel, scheduler: DDPMScheduler, image_noising_scheduler: DDPMScheduler, safety_checker: diffusers.pipelines.deepfloyd_if.safety_checker.IFSafetyChecker | None, feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None, watermarker: diffusers.pipelines.deepfloyd_if.watermark.IFWatermarker | None, requires_safety_checker: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py#L124) | |
| #### __call__[[diffusers.IFImg2ImgSuperResolutionPipeline.__call__]] | |
| ```python | |
| __call__(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], original_image: typing.Union[PIL.Image.Image, torch.Tensor, numpy.ndarray, list[PIL.Image.Image], list[torch.Tensor], list[numpy.ndarray]] = None, strength: float = 0.8, prompt: str | list[str] = None, num_inference_steps: int = 50, timesteps: list = None, guidance_scale: float = 4.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float = 0.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, cross_attention_kwargs: dict[str, typing.Any] | None = None, noise_level: int = 250, clean_caption: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py#L744) | |
| **Parametreler:** | |
| image (`torch.Tensor` veya `PIL.Image.Image`) : `Image`, veya bir görüntü grubunu temsil eden tensör; süreç için başlangıç noktası olarak kullanılacaktır. | |
| original_image (`torch.Tensor` veya `PIL.Image.Image`) : `image`'in türetildiği orijinal görüntü. | |
| strength (`float`, *opsiyonel*, varsayılan 0.8) : Kavramsal olarak, referans `image`'in ne kadar dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılacak ve `strength` değeri arttıkça ona daha fazla gürültü eklenecektir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır. `strength` 1 olduğunda, eklenen gürültü maksimum seviyede olacak ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışacaktır. Dolayısıyla 1 değeri, `image`'i fiilen yok sayar. | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 50) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. | |
| timesteps (`list[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, eşit aralıklı `num_inference_steps` zaman adımı kullanılır. Azalan sırada olmalıdır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 4.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'deki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| eta (`float`, *isteğe bağlı*, varsayılan 0.0) : DDIM makalesindeki eta (η) parametresine karşılık gelir: https://huggingface.co/papers/2010.02502. Yalnızca [schedulers.DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir, diğerlerinde yok sayılır. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya [torch üreteci(leri)](https://pytorch.org/docs/stable/generated/torch.Generator.html) listesi. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` veya `np.array` arasında seçim yapın. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~pipelines.stable_diffusion.IFPipelineOutput` döndürülecek mi? | |
| callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılacak bir işlev. İşlev aşağıdaki argümanlarla çağrılacaktır: `callback(step: int, timestep: int, latents: torch.Tensor)`. | |
| callback_steps (`int`, *opsiyonel*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır. | |
| cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü. | |
| noise_level (`int`, *opsiyonel*, varsayılan 250) : Ölçeklendirilmiş görüntüye eklenecek gürültü miktarı. `[0, 1000)` aralığında olmalıdır. | |
| clean_caption (`bool`, *isteğe bağlı*, varsayılan `True`) : Embedding oluşturulmadan önce başlığın temizlenip temizlenmeyeceğini belirtir. Bunun için `beautifulsoup4` ve `ftfy` paketlerinin yüklü olması gerekir. Bağımlılıklar yüklü değilse, embedding'ler ham istemden oluşturulur. | |
| **Dönüş:** `~pipelines.stable_diffusion.IFPipelineOutput` veya `tuple` | |
| `~pipelines.stable_diffusion.IFPipelineOutput` if `return_dict` is True, otherwise a `tuple. When returning a tuple, the first element is a list with the generated images, and the second element is a list of `bool`s denoting whether the corresponding generated image likely represents "not-safe-for-work" (nsfw) or watermarked content, according to the `safety_checker`. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> from diffusers import IFImg2ImgPipeline, IFImg2ImgSuperResolutionPipeline, DiffusionPipeline | |
| >>> from diffusers.utils import pt_to_pil | |
| >>> import torch | |
| >>> from PIL import Image | |
| >>> import requests | |
| >>> from io import BytesIO | |
| >>> url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg" | |
| >>> response = requests.get(url) | |
| >>> original_image = Image.open(BytesIO(response.content)).convert("RGB") | |
| >>> original_image = original_image.resize((768, 512)) | |
| >>> pipe = IFImg2ImgPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-I-XL-v1.0", | |
| ... variant="fp16", | |
| ... torch_dtype=torch.float16, | |
| ... ) | |
| >>> pipe.enable_model_cpu_offload() | |
| >>> prompt = "A fantasy landscape in style minecraft" | |
| >>> prompt_embeds, negative_embeds = pipe.encode_prompt(prompt) | |
| >>> image = pipe( | |
| ... image=original_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... output_type="pt", | |
| ... ).images | |
| >>> # save intermediate image | |
| >>> pil_image = pt_to_pil(image) | |
| >>> pil_image[0].save("./if_stage_I.png") | |
| >>> super_res_1_pipe = IFImg2ImgSuperResolutionPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-II-L-v1.0", | |
| ... text_encoder=None, | |
| ... variant="fp16", | |
| ... torch_dtype=torch.float16, | |
| ... ) | |
| >>> super_res_1_pipe.enable_model_cpu_offload() | |
| >>> image = super_res_1_pipe( | |
| ... image=image, | |
| ... original_image=original_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... ).images | |
| >>> image[0].save("./if_stage_II.png") | |
| ``` | |
| #### encode_prompt[[diffusers.IFImg2ImgSuperResolutionPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], do_classifier_free_guidance: bool = True, num_images_per_prompt: int = 1, device: typing.Optional[torch.device] = None, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, clean_caption: bool = False) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py#L344) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| do_classifier_free_guidance (`bool`, *isteğe bağlı*, varsayılan `True`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : her istem için oluşturulacak görsel sayısı | |
| device : (`torch.device`, *isteğe bağlı*): Sonuç olarak elde edilen gömme vektörlerinin yerleştirileceği torch cihazı | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani `guidance_scale`, `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| clean_caption (bool, varsayılan `False`) : `True` ise, fonksiyon kodlamadan önce sağlanan başlığı ön işler ve temizler. | |
| İsteği metin kodlayıcı gizli durumlarına kodlar. | |
| ## IFInpaintingPipeline[[diffusers.IFInpaintingPipeline]] | |
| #### diffusers.IFInpaintingPipeline[[diffusers.IFInpaintingPipeline]] | |
| ```python | |
| diffusers.IFInpaintingPipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: UNet2DConditionModel, scheduler: DDPMScheduler, safety_checker: diffusers.pipelines.deepfloyd_if.safety_checker.IFSafetyChecker | None, feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None, watermarker: diffusers.pipelines.deepfloyd_if.watermark.IFWatermarker | None, requires_safety_checker: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py#L123) | |
| #### __call__[[diffusers.IFInpaintingPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, image: typing.Union[PIL.Image.Image, torch.Tensor, numpy.ndarray, list[PIL.Image.Image], list[torch.Tensor], list[numpy.ndarray]] = None, mask_image: typing.Union[PIL.Image.Image, torch.Tensor, numpy.ndarray, list[PIL.Image.Image], list[torch.Tensor], list[numpy.ndarray]] = None, strength: float = 1.0, num_inference_steps: int = 50, timesteps: list = None, guidance_scale: float = 7.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float = 0.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, clean_caption: bool = True, cross_attention_kwargs: dict[str, typing.Any] | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py#L753) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir. | |
| image (`torch.Tensor` veya `PIL.Image.Image`) : `Image`, veya bir görüntü grubunu temsil eden tensör; süreç için başlangıç noktası olarak kullanılacaktır. | |
| mask_image (`PIL.Image.Image`) : `Image` veya bir görüntü grubunu temsil eden tensör, `image` için maske olarak kullanılacak. Maske içindeki beyaz pikseller yeniden boyanacak, siyah pikseller ise korunacaktır. `mask_image` bir PIL görüntüsü ise, kullanılmadan önce tek kanala (parlaklık) dönüştürülür. Tensör ise 3 yerine tek renk kanalı (L) içermelidir; bu durumda beklenen şekil `(B, H, W, 1)` olur. | |
| strength (`float`, *opsiyonel*, varsayılan 1.0) : Kavramsal olarak, referans `image`'in ne kadar dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılacak ve `strength` değeri arttıkça ona daha fazla gürültü eklenecektir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır. `strength` 1 olduğunda, eklenen gürültü maksimum seviyede olacak ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışacaktır. Dolayısıyla 1 değeri, `image`'i fiilen yok sayar. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 50) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. | |
| timesteps (`list[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, eşit aralıklı `num_inference_steps` zaman adımı kullanılır. Azalan sırada olmalıdır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 7.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'deki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| eta (`float`, *isteğe bağlı*, varsayılan 0.0) : DDIM makalesindeki eta (η) parametresine karşılık gelir: https://huggingface.co/papers/2010.02502. Yalnızca [schedulers.DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir, diğerlerinde yok sayılır. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya [torch üreteci(leri)](https://pytorch.org/docs/stable/generated/torch.Generator.html) listesi. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` veya `np.array` arasında seçim yapın. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~pipelines.stable_diffusion.IFPipelineOutput` döndürülecek mi? | |
| callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılacak bir işlev. İşlev aşağıdaki argümanlarla çağrılacaktır: `callback(step: int, timestep: int, latents: torch.Tensor)`. | |
| callback_steps (`int`, *opsiyonel*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır. | |
| clean_caption (`bool`, *isteğe bağlı*, varsayılan `True`) : Embedding oluşturulmadan önce başlığın temizlenip temizlenmeyeceğini belirtir. Bunun için `beautifulsoup4` ve `ftfy` paketlerinin yüklü olması gerekir. Bağımlılıklar yüklü değilse, embedding'ler ham istemden oluşturulur. | |
| cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü. | |
| **Dönüş:** `~pipelines.stable_diffusion.IFPipelineOutput` veya `tuple` | |
| `~pipelines.stable_diffusion.IFPipelineOutput` if `return_dict` is True, otherwise a `tuple. When returning a tuple, the first element is a list with the generated images, and the second element is a list of `bool`s denoting whether the corresponding generated image likely represents "not-safe-for-work" (nsfw) or watermarked content, according to the `safety_checker`. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> from diffusers import IFInpaintingPipeline, IFInpaintingSuperResolutionPipeline, DiffusionPipeline | |
| >>> from diffusers.utils import pt_to_pil | |
| >>> import torch | |
| >>> from PIL import Image | |
| >>> import requests | |
| >>> from io import BytesIO | |
| >>> url = "https://huggingface.co/datasets/diffusers/docs-images/resolve/main/if/person.png" | |
| >>> response = requests.get(url) | |
| >>> original_image = Image.open(BytesIO(response.content)).convert("RGB") | |
| >>> original_image = original_image | |
| >>> url = "https://huggingface.co/datasets/diffusers/docs-images/resolve/main/if/glasses_mask.png" | |
| >>> response = requests.get(url) | |
| >>> mask_image = Image.open(BytesIO(response.content)) | |
| >>> mask_image = mask_image | |
| >>> pipe = IFInpaintingPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-I-XL-v1.0", variant="fp16", torch_dtype=torch.float16 | |
| ... ) | |
| >>> pipe.enable_model_cpu_offload() | |
| >>> prompt = "blue sunglasses" | |
| >>> prompt_embeds, negative_embeds = pipe.encode_prompt(prompt) | |
| >>> image = pipe( | |
| ... image=original_image, | |
| ... mask_image=mask_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... output_type="pt", | |
| ... ).images | |
| >>> # save intermediate image | |
| >>> pil_image = pt_to_pil(image) | |
| >>> pil_image[0].save("./if_stage_I.png") | |
| >>> super_res_1_pipe = IFInpaintingSuperResolutionPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", torch_dtype=torch.float16 | |
| ... ) | |
| >>> super_res_1_pipe.enable_model_cpu_offload() | |
| >>> image = super_res_1_pipe( | |
| ... image=image, | |
| ... mask_image=mask_image, | |
| ... original_image=original_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... ).images | |
| >>> image[0].save("./if_stage_II.png") | |
| ``` | |
| #### encode_prompt[[diffusers.IFInpaintingPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], do_classifier_free_guidance: bool = True, num_images_per_prompt: int = 1, device: typing.Optional[torch.device] = None, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, clean_caption: bool = False) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py#L195) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| do_classifier_free_guidance (`bool`, *isteğe bağlı*, varsayılan `True`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : her istem için oluşturulacak görsel sayısı | |
| device : (`torch.device`, *isteğe bağlı*): Sonuç olarak elde edilen gömme vektörlerinin yerleştirileceği torch cihazı | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani `guidance_scale`, `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| clean_caption (bool, varsayılan `False`) : `True` ise, fonksiyon kodlamadan önce sağlanan başlığı ön işler ve temizler. | |
| İsteği metin kodlayıcı gizli durumlarına kodlar. | |
| ## IFInpaintingSuperResolutionPipeline[[diffusers.IFInpaintingSuperResolutionPipeline]] | |
| #### diffusers.IFInpaintingSuperResolutionPipeline[[diffusers.IFInpaintingSuperResolutionPipeline]] | |
| ```python | |
| diffusers.IFInpaintingSuperResolutionPipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: UNet2DConditionModel, scheduler: DDPMScheduler, image_noising_scheduler: DDPMScheduler, safety_checker: diffusers.pipelines.deepfloyd_if.safety_checker.IFSafetyChecker | None, feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None, watermarker: diffusers.pipelines.deepfloyd_if.watermark.IFWatermarker | None, requires_safety_checker: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py#L126) | |
| #### __call__[[diffusers.IFInpaintingSuperResolutionPipeline.__call__]] | |
| ```python | |
| __call__(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], original_image: typing.Union[PIL.Image.Image, torch.Tensor, numpy.ndarray, list[PIL.Image.Image], list[torch.Tensor], list[numpy.ndarray]] = None, mask_image: typing.Union[PIL.Image.Image, torch.Tensor, numpy.ndarray, list[PIL.Image.Image], list[torch.Tensor], list[numpy.ndarray]] = None, strength: float = 0.8, prompt: str | list[str] = None, num_inference_steps: int = 100, timesteps: list = None, guidance_scale: float = 4.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float = 0.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, cross_attention_kwargs: dict[str, typing.Any] | None = None, noise_level: int = 0, clean_caption: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py#L832) | |
| **Parametreler:** | |
| image (`torch.Tensor` veya `PIL.Image.Image`) : `Image`, veya bir görüntü grubunu temsil eden tensör; süreç için başlangıç noktası olarak kullanılacaktır. | |
| original_image (`torch.Tensor` veya `PIL.Image.Image`) : `image`'in türetildiği orijinal görüntü. | |
| mask_image (`PIL.Image.Image`) : `Image` veya bir görüntü grubunu temsil eden tensör, `image` için maske olarak kullanılacak. Maske içindeki beyaz pikseller yeniden boyanacak, siyah pikseller ise korunacaktır. `mask_image` bir PIL görüntüsü ise, kullanılmadan önce tek kanala (parlaklık) dönüştürülür. Tensör ise 3 yerine tek renk kanalı (L) içermelidir; bu durumda beklenen şekil `(B, H, W, 1)` olur. | |
| strength (`float`, *opsiyonel*, varsayılan 0.8) : Kavramsal olarak, referans `image`'in ne kadar dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılacak ve `strength` değeri arttıkça ona daha fazla gürültü eklenecektir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır. `strength` 1 olduğunda, eklenen gürültü maksimum seviyede olacak ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışacaktır. Dolayısıyla 1 değeri, `image`'i fiilen yok sayar. | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 100) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. | |
| timesteps (`list[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, eşit aralıklı `num_inference_steps` zaman adımı kullanılır. Azalan sırada olmalıdır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 4.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'deki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| eta (`float`, *isteğe bağlı*, varsayılan 0.0) : DDIM makalesindeki eta (η) parametresine karşılık gelir: https://huggingface.co/papers/2010.02502. Yalnızca [schedulers.DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir, diğerlerinde yok sayılır. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya [torch üreteci(leri)](https://pytorch.org/docs/stable/generated/torch.Generator.html) listesi. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` veya `np.array` arasında seçim yapın. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~pipelines.stable_diffusion.IFPipelineOutput` döndürülecek mi? | |
| callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılacak bir işlev. İşlev aşağıdaki argümanlarla çağrılacaktır: `callback(step: int, timestep: int, latents: torch.Tensor)`. | |
| callback_steps (`int`, *opsiyonel*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır. | |
| cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü. | |
| noise_level (`int`, *isteğe bağlı*, varsayılan 0) : Ölçeklendirilmiş görüntüye eklenecek gürültü miktarı. `[0, 1000)` aralığında olmalıdır. | |
| clean_caption (`bool`, *isteğe bağlı*, varsayılan `True`) : Embedding oluşturulmadan önce başlığın temizlenip temizlenmeyeceğini belirtir. Bunun için `beautifulsoup4` ve `ftfy` paketlerinin yüklü olması gerekir. Bağımlılıklar yüklü değilse, embedding'ler ham istemden oluşturulur. | |
| **Dönüş:** `~pipelines.stable_diffusion.IFPipelineOutput` veya `tuple` | |
| `~pipelines.stable_diffusion.IFPipelineOutput` if `return_dict` is True, otherwise a `tuple. When returning a tuple, the first element is a list with the generated images, and the second element is a list of `bool`s denoting whether the corresponding generated image likely represents "not-safe-for-work" (nsfw) or watermarked content, according to the `safety_checker`. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> from diffusers import IFInpaintingPipeline, IFInpaintingSuperResolutionPipeline, DiffusionPipeline | |
| >>> from diffusers.utils import pt_to_pil | |
| >>> import torch | |
| >>> from PIL import Image | |
| >>> import requests | |
| >>> from io import BytesIO | |
| >>> url = "https://huggingface.co/datasets/diffusers/docs-images/resolve/main/if/person.png" | |
| >>> response = requests.get(url) | |
| >>> original_image = Image.open(BytesIO(response.content)).convert("RGB") | |
| >>> original_image = original_image | |
| >>> url = "https://huggingface.co/datasets/diffusers/docs-images/resolve/main/if/glasses_mask.png" | |
| >>> response = requests.get(url) | |
| >>> mask_image = Image.open(BytesIO(response.content)) | |
| >>> mask_image = mask_image | |
| >>> pipe = IFInpaintingPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-I-XL-v1.0", variant="fp16", torch_dtype=torch.float16 | |
| ... ) | |
| >>> pipe.enable_model_cpu_offload() | |
| >>> prompt = "blue sunglasses" | |
| >>> prompt_embeds, negative_embeds = pipe.encode_prompt(prompt) | |
| >>> image = pipe( | |
| ... image=original_image, | |
| ... mask_image=mask_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... output_type="pt", | |
| ... ).images | |
| >>> # save intermediate image | |
| >>> pil_image = pt_to_pil(image) | |
| >>> pil_image[0].save("./if_stage_I.png") | |
| >>> super_res_1_pipe = IFInpaintingSuperResolutionPipeline.from_pretrained( | |
| ... "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", torch_dtype=torch.float16 | |
| ... ) | |
| >>> super_res_1_pipe.enable_model_cpu_offload() | |
| >>> image = super_res_1_pipe( | |
| ... image=image, | |
| ... mask_image=mask_image, | |
| ... original_image=original_image, | |
| ... prompt_embeds=prompt_embeds, | |
| ... negative_prompt_embeds=negative_embeds, | |
| ... ).images | |
| >>> image[0].save("./if_stage_II.png") | |
| ``` | |
| #### encode_prompt[[diffusers.IFInpaintingSuperResolutionPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], do_classifier_free_guidance: bool = True, num_images_per_prompt: int = 1, device: typing.Optional[torch.device] = None, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, clean_caption: bool = False) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py#L346) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| do_classifier_free_guidance (`bool`, *isteğe bağlı*, varsayılan `True`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : her istem için oluşturulacak görsel sayısı | |
| device : (`torch.device`, *isteğe bağlı*): Sonuç olarak elde edilen gömme vektörlerinin yerleştirileceği torch cihazı | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani `guidance_scale`, `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| clean_caption (bool, varsayılan `False`) : `True` ise, fonksiyon kodlamadan önce sağlanan başlığı ön işler ve temizler. | |
| İsteği metin kodlayıcı gizli durumlarına kodlar. | |
Xet Storage Details
- Size:
- 86.3 kB
- Xet hash:
- 3d67f68272997aec762672dea25e4b30e5c1d5fc65e7997c588f9fa43662d8e8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.