Buckets:
| # Flux | |
| Flux, difüzyon dönüştürücülerine dayalı bir metinden görüntüye üretim modelleri serisidir. Flux hakkında daha fazla bilgi edinmek için, Flux'un yaratıcıları olan Black Forest Labs'in orijinal [blog yazısını](https://blackforestlabs.ai/announcing-black-forest-labs/) inceleyin. | |
| Flux için orijinal model denetim noktaları [burada](https://huggingface.co/black-forest-labs) bulunabilir. Orijinal çıkarım kodu [burada](https://github.com/black-forest-labs/flux) bulunabilir. | |
| > [!TIP] | |
| > Flux, tüketici donanım cihazlarında çalıştırıldığında oldukça maliyetli olabilir. Ancak, daha hızlı ve bellek açısından daha verimli bir şekilde çalıştırması için bir dizi optimizasyon uygulayabilirsiniz. Daha fazla ayrıntı için [bu bölümü](https://huggingface.co/blog/sd3#memory-optimizations-for-sd3) inceleyin. Ayrıca, Flux, çıkarım gecikmesinde bir ödün karşılığında bellek verimliliği için kuantizasyondan faydalanabilir. Daha fazla bilgi edinmek için [bu blog yazısına](https://huggingface.co/blog/quanto-diffusers) göz atın. Kapsamlı bir kaynak listesi için [bu gist'e](https://gist.github.com/sayakpaul/b664605caf0aa3bf8585ab109dd5ac9c) bakın. | |
| > | |
| > [Önbelleğe alma](../../optimization/cache), ara çıktıları depolayıp yeniden kullanarak çıkarımı hızlandırabilir. | |
| Flux aşağıdaki varyantlarda gelir: | |
| | model türü | model kimliği | | |
| |:----------:|:--------:| | |
| | Zaman adımı damıtılmış | [`black-forest-labs/FLUX.1-schnell`](https://huggingface.co/black-forest-labs/FLUX.1-schnell) | | |
| | Guidance-distilled | [`black-forest-labs/FLUX.1-dev`](https://huggingface.co/black-forest-labs/FLUX.1-dev) | | |
| | Doldurma Inpainting/Outpainting (Guidance-distilled) | [`black-forest-labs/FLUX.1-Fill-dev`](https://huggingface.co/black-forest-labs/FLUX.1-Fill-dev) | | |
| | Canny Kontrol (Rehberlik damıtılmış) | [`black-forest-labs/FLUX.1-Canny-dev`](https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev) | | |
| | Derinlik Kontrolü (Guidance-distilled) | [`black-forest-labs/FLUX.1-Depth-dev`](https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev) | | |
| | Canny Kontrolü (LoRA) | [`black-forest-labs/FLUX.1-Canny-dev-lora`](https://huggingface.co/black-forest-labs/FLUX.1-Canny-dev-lora) | | |
| | Derinlik Kontrolü (LoRA) | [`black-forest-labs/FLUX.1-Depth-dev-lora`](https://huggingface.co/black-forest-labs/FLUX.1-Depth-dev-lora) | | |
| | Redux (Uyarlama) | [`black-forest-labs/FLUX.1-Redux-dev`](https://huggingface.co/black-forest-labs/FLUX.1-Redux-dev) | | |
| | Konteks | [`black-forest-labs/FLUX.1-kontext`](https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev) | | |
| Tüm kontrol noktalarının farklı kullanım alanları vardır; bunları aşağıda ayrıntılı olarak açıklıyoruz. | |
| ### Zaman adımı damıtılmış | |
| * `max_sequence_length` 256'den büyük olamaz. | |
| * `guidance_scale` 0 olmalıdır. | |
| * Bu, zaman adımı damıtılmış bir model olduğu için, daha az örneklem adımından faydalanır. | |
| ```python | |
| import torch | |
| from diffusers import FluxPipeline | |
| pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", dtype=torch.bfloat16) | |
| pipe.enable_model_cpu_offload() | |
| prompt = "A cat holding a sign that says hello world" | |
| out = pipe( | |
| prompt=prompt, | |
| guidance_scale=0., | |
| height=768, | |
| width=1360, | |
| num_inference_steps=4, | |
| max_sequence_length=256, | |
| ).images[0] | |
| out.save("image.png") | |
| ``` | |
| ### Guidance-distilled | |
| * Guidance-distilled varyantı, iyi kalitede üretim için yaklaşık 50 örneklem adımına ihtiyaç duyar. | |
| * `max_sequence_length` ile ilgili herhangi bir kısıtlaması yoktur. | |
| ```python | |
| import torch | |
| from diffusers import FluxPipeline | |
| pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", dtype=torch.bfloat16) | |
| pipe.enable_model_cpu_offload() | |
| prompt = "a tiny astronaut hatching from an egg on the moon" | |
| out = pipe( | |
| prompt=prompt, | |
| guidance_scale=3.5, | |
| height=768, | |
| width=1360, | |
| num_inference_steps=50, | |
| ).images[0] | |
| out.save("image.png") | |
| ``` | |
| ### Inpainting/Outpainting Doldurma | |
| * Flux Fill pipeline, normal inpainting pipeline'lerinden farklı olarak `strength` girdisi gerektirmez. | |
| * Hem inpainting hem de outpainting'i destekler. | |
| ```python | |
| import torch | |
| from diffusers import FluxFillPipeline | |
| from diffusers.utils import load_image | |
| image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/cup.png") | |
| mask = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/cup_mask.png") | |
| repo_id = "black-forest-labs/FLUX.1-Fill-dev" | |
| pipe = FluxFillPipeline.from_pretrained(repo_id, dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu" | |
| image = pipe( | |
| prompt="a white paper cup", | |
| image=image, | |
| mask_image=mask, | |
| height=1632, | |
| width=1232, | |
| max_sequence_length=512, | |
| generator=torch.Generator("cpu").manual_seed(0) | |
| ).images[0] | |
| image.save(f"output.png") | |
| ``` | |
| ### Canny Kontrol | |
| **Not:** `black-forest-labs/Flux.1-Canny-dev` bir [ControlNetModel](/docs/diffusers/main/tr/api/models/controlnet#diffusers.ControlNetModel) modeli _değildir_. ControlNet modelleri, artıkları asıl alt modele eklenen UNet/Transformer'dan ayrı bir bileşendir. Canny Control, girdi kontrol koşuluyla kanal bazlı birleştirme kullanarak ve transformer'ın koşula mümkün olduğunca yakın uyarak yapısal kontrolü öğrenmesini sağlayarak, bir ControlNet modelinin elde edeceği sonuçlara neredeyse aynı şekilde ulaşan alternatif bir mimaridir. | |
| ```python | |
| # !pip install -U controlnet-aux | |
| import torch | |
| from controlnet_aux import CannyDetector | |
| from diffusers import FluxControlPipeline | |
| from diffusers.utils import load_image | |
| pipe = FluxControlPipeline.from_pretrained("black-forest-labs/FLUX.1-Canny-dev", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu" | |
| prompt = "A robot made of exotic candies and chocolates of different kinds. The background is filled with confetti and celebratory gifts." | |
| control_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/robot.png") | |
| processor = CannyDetector() | |
| control_image = processor(control_image, low_threshold=50, high_threshold=200, detect_resolution=1024, image_resolution=1024) | |
| image = pipe( | |
| prompt=prompt, | |
| control_image=control_image, | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=50, | |
| guidance_scale=30.0, | |
| ).images[0] | |
| image.save("output.png") | |
| ``` | |
| Canny Control, bu koşulun bir LoRA varyantıyla da mümkündür. Kullanım şu şekildedir: | |
| ```python | |
| # !pip install -U controlnet-aux | |
| import torch | |
| from controlnet_aux import CannyDetector | |
| from diffusers import FluxControlPipeline | |
| from diffusers.utils import load_image | |
| pipe = FluxControlPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu" | |
| pipe.load_lora_weights("black-forest-labs/FLUX.1-Canny-dev-lora") | |
| prompt = "A robot made of exotic candies and chocolates of different kinds. The background is filled with confetti and celebratory gifts." | |
| control_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/robot.png") | |
| processor = CannyDetector() | |
| control_image = processor(control_image, low_threshold=50, high_threshold=200, detect_resolution=1024, image_resolution=1024) | |
| image = pipe( | |
| prompt=prompt, | |
| control_image=control_image, | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=50, | |
| guidance_scale=30.0, | |
| ).images[0] | |
| image.save("output.png") | |
| ``` | |
| ### Derinlik Kontrolü | |
| **Not:** `black-forest-labs/Flux.1-Depth-dev` bir ControlNet modeli _değildir_. [ControlNetModel](/docs/diffusers/main/tr/api/models/controlnet#diffusers.ControlNetModel) modelleri, artıkları asıl alt modele eklenen UNet/Transformer'dan ayrı bir bileşendir. Depth Control, kanal bazlı birleştirme kullanarak girdi kontrol koşulunu ve transformer'ın koşula mümkün olduğunca yakın uyarak yapısal kontrolü öğrenmesini sağlayarak, bir ControlNet modelinin elde edeceği sonuçlara pratikte eşdeğer sonuçlar veren alternatif bir mimaridir. | |
| ```python | |
| # !pip install git+https://github.com/huggingface/image_gen_aux | |
| import torch | |
| from diffusers import FluxControlPipeline, FluxTransformer2DModel | |
| from diffusers.utils import load_image | |
| from image_gen_aux import DepthPreprocessor | |
| pipe = FluxControlPipeline.from_pretrained("black-forest-labs/FLUX.1-Depth-dev", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu" | |
| prompt = "A robot made of exotic candies and chocolates of different kinds. The background is filled with confetti and celebratory gifts." | |
| control_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/robot.png") | |
| processor = DepthPreprocessor.from_pretrained("LiheYoung/depth-anything-large-hf") | |
| control_image = processor(control_image)[0].convert("RGB") | |
| image = pipe( | |
| prompt=prompt, | |
| control_image=control_image, | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=30, | |
| guidance_scale=10.0, | |
| generator=torch.Generator().manual_seed(42), | |
| ).images[0] | |
| image.save("output.png") | |
| ``` | |
| Derinlik Kontrolü, bu koşulun bir LoRA varyantıyla da mümkündür. Kullanım şu şekildedir: | |
| ```python | |
| # !pip install git+https://github.com/huggingface/image_gen_aux | |
| import torch | |
| from diffusers import FluxControlPipeline, FluxTransformer2DModel | |
| from diffusers.utils import load_image | |
| from image_gen_aux import DepthPreprocessor | |
| pipe = FluxControlPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu" | |
| pipe.load_lora_weights("black-forest-labs/FLUX.1-Depth-dev-lora") | |
| prompt = "A robot made of exotic candies and chocolates of different kinds. The background is filled with confetti and celebratory gifts." | |
| control_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/robot.png") | |
| processor = DepthPreprocessor.from_pretrained("LiheYoung/depth-anything-large-hf") | |
| control_image = processor(control_image)[0].convert("RGB") | |
| image = pipe( | |
| prompt=prompt, | |
| control_image=control_image, | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=30, | |
| guidance_scale=10.0, | |
| generator=torch.Generator().manual_seed(42), | |
| ).images[0] | |
| image.save("output.png") | |
| ``` | |
| ### Redux | |
| * Flux Redux pipeline, FLUX.1 taban modelleri için bir adaptördür. Hem flux-dev hem de flux-schnell ile, görüntüden görüntüye üretim için kullanılabilir. | |
| * Önce `FluxPriorReduxPipeline` kullanarak `prompt_embeds` ve `pooled_prompt_embeds` değerlerini alabilir, ardından bunları `FluxPipeline` içine vererek görüntüden görüntüye üretim yapabilirsiniz. | |
| * `FluxPriorReduxPipeline`'i bir temel pipeline ile kullanırken, VRAM tasarrufu sağlamak için temel pipeline'da `text_encoder=None` ve `text_encoder_2=None` değerlerini ayarlayabilirsiniz. | |
| ```python | |
| import torch | |
| from diffusers import FluxPriorReduxPipeline, FluxPipeline | |
| from diffusers.utils import load_image | |
| device = "cuda" # or "mps", "xpu", "cpu" | |
| dtype = torch.bfloat16 | |
| repo_redux = "black-forest-labs/FLUX.1-Redux-dev" | |
| repo_base = "black-forest-labs/FLUX.1-dev" | |
| pipe_prior_redux = FluxPriorReduxPipeline.from_pretrained(repo_redux, dtype=dtype).to(device) | |
| pipe = FluxPipeline.from_pretrained( | |
| repo_base, | |
| text_encoder=None, | |
| text_encoder_2=None, | |
| dtype=torch.bfloat16 | |
| ).to(device) | |
| image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/style_ziggy/img5.png") | |
| pipe_prior_output = pipe_prior_redux(image) | |
| images = pipe( | |
| guidance_scale=2.5, | |
| num_inference_steps=50, | |
| generator=torch.Generator("cpu").manual_seed(0), | |
| **pipe_prior_output, | |
| ).images | |
| images[0].save("flux-redux.png") | |
| ``` | |
| ### Konteks | |
| Flux Kontext, görüntü üretim sürecinin bağlam içi kontrolüne olanak tanıyan; düzenleme, iyileştirme, yeniden aydınlatma, stil aktarımı, karakter özelleştirme ve daha fazlasını gerçekleştirmenizi sağlayan bir modeldir. | |
| ```python | |
| import torch | |
| from diffusers import FluxKontextPipeline | |
| from diffusers.utils import load_image | |
| pipe = FluxKontextPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-Kontext-dev", dtype=torch.bfloat16 | |
| ) | |
| pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/yarn-art-pikachu.png").convert("RGB") | |
| prompt = "Make Pikachu hold a sign that says 'Black Forest Labs is awesome', yarn art style, detailed, vibrant colors" | |
| image = pipe( | |
| image=image, | |
| prompt=prompt, | |
| guidance_scale=2.5, | |
| generator=torch.Generator().manual_seed(42), | |
| ).images[0] | |
| image.save("flux-kontext.png") | |
| ``` | |
| Flux Kontext, bütünlük güvenlik denetleyicisi ile birlikte gelir ve bu denetleyici, görüntü oluşturma adımının ardından çalıştırılmalıdır. Güvenlik denetleyicisini çalıştırmak için [black-forest-labs/flux](https://github.com/black-forest-labs/flux) adresindeki resmi depoyu kurun ve aşağıdaki kodu ekleyin: | |
| ```python | |
| from flux.content_filters import PixtralContentFilter | |
| # ... pipeline invocation to generate images | |
| integrity_checker = PixtralContentFilter(torch.device("cuda")) | |
| image_ = np.array(image) / 255.0 | |
| image_ = 2 * image_ - 1 | |
| image_ = torch.from_numpy(image_).to("cuda", dtype=torch.float32).unsqueeze(0).permute(0, 3, 1, 2) | |
| if integrity_checker.test_image(image_): | |
| raise ValueError("Your image has been flagged. Choose another prompt/image or try again.") | |
| ``` | |
| ### Kontekst İçi Boyama | |
| `FluxKontextInpaintPipeline`, sabit bir maske bölgesi içinde görsel düzenlemeye olanak tanır. Şu anda hem metin tabanlı hem de görsel referans tabanlı koşullandırmayı destekler. | |
| ```python | |
| import torch | |
| from diffusers import FluxKontextInpaintPipeline | |
| from diffusers.utils import load_image | |
| prompt = "Change the yellow dinosaur to green one" | |
| img_url = ( | |
| "https://github.com/ZenAI-Vietnam/Flux-Kontext-pipelines/blob/main/assets/dinosaur_input.jpeg?raw=true" | |
| ) | |
| mask_url = ( | |
| "https://github.com/ZenAI-Vietnam/Flux-Kontext-pipelines/blob/main/assets/dinosaur_mask.png?raw=true" | |
| ) | |
| source = load_image(img_url) | |
| mask = load_image(mask_url) | |
| pipe = FluxKontextInpaintPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-Kontext-dev", dtype=torch.bfloat16 | |
| ) | |
| pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| image = pipe(prompt=prompt, image=source, mask_image=mask, strength=1.0).images[0] | |
| image.save("kontext_inpainting_normal.png") | |
| ``` | |
| ```python | |
| import torch | |
| from diffusers import FluxKontextInpaintPipeline | |
| from diffusers.utils import load_image | |
| pipe = FluxKontextInpaintPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-Kontext-dev", dtype=torch.bfloat16 | |
| ) | |
| pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| prompt = "Replace this ball" | |
| img_url = "https://images.pexels.com/photos/39362/the-ball-stadion-football-the-pitch-39362.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" | |
| mask_url = "https://github.com/ZenAI-Vietnam/Flux-Kontext-pipelines/blob/main/assets/ball_mask.png?raw=true" | |
| image_reference_url = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTah3x6OL_ECMBaZ5ZlJJhNsyC-OSMLWAI-xw&s" | |
| source = load_image(img_url) | |
| mask = load_image(mask_url) | |
| image_reference = load_image(image_reference_url) | |
| mask = pipe.mask_processor.blur(mask, blur_factor=12) | |
| image = pipe( | |
| prompt=prompt, image=source, mask_image=mask, image_reference=image_reference, strength=1.0 | |
| ).images[0] | |
| image.save("kontext_inpainting_ref.png") | |
| ``` | |
| ## Flux Turbo LoRAs'ı Flux Control, Fill ve Redux ile birleştirme | |
| Flux Turbo LoRAlarını, az adımlı çıkarım (inference) imkânı sağlamak için Flux Control ve Fill, Redux gibi diğer pipeline'larla birleştirebiliriz. Aşağıdaki örnek, derinlik için Flux Control LoRA ve [`ByteDance/Hyper-SD`](https://hf.co/ByteDance/Hyper-SD) kaynaklı turbo LoRA için bunun nasıl yapılacağını göstermektedir. | |
| ```py | |
| from diffusers import FluxControlPipeline | |
| from image_gen_aux import DepthPreprocessor | |
| from diffusers.utils import load_image | |
| from huggingface_hub import hf_hub_download | |
| import torch | |
| control_pipe = FluxControlPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", dtype=torch.bfloat16) | |
| control_pipe.load_lora_weights("black-forest-labs/FLUX.1-Depth-dev-lora", adapter_name="depth") | |
| control_pipe.load_lora_weights( | |
| hf_hub_download("ByteDance/Hyper-SD", "Hyper-FLUX.1-dev-8steps-lora.safetensors"), adapter_name="hyper-sd" | |
| ) | |
| control_pipe.set_adapters(["depth", "hyper-sd"], adapter_weights=[0.85, 0.125]) | |
| control_pipe.enable_model_cpu_offload() | |
| prompt = "A robot made of exotic candies and chocolates of different kinds. The background is filled with confetti and celebratory gifts." | |
| control_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/robot.png") | |
| processor = DepthPreprocessor.from_pretrained("LiheYoung/depth-anything-large-hf") | |
| control_image = processor(control_image)[0].convert("RGB") | |
| image = control_pipe( | |
| prompt=prompt, | |
| control_image=control_image, | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=8, | |
| guidance_scale=10.0, | |
| generator=torch.Generator().manual_seed(42), | |
| ).images[0] | |
| image.save("output.png") | |
| ``` | |
| ## Flux LoRAs kullanırken `unload_lora_weights()` hakkında not | |
| Control LoRA ağırlıklarını boşaltırken, `pipe.transformer` bileşenini tamamen orijinal haline getirmek için `pipe.unload_lora_weights(reset_to_overwritten_params=True)` çağrısını yapın. Sonuçta oluşan pipeline, [DiffusionPipeline.from_pipe()](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline.from_pipe) gibi yöntemlerle kullanılabilir. Bu argüman hakkında daha fazla ayrıntı [bu PR](https://github.com/huggingface/diffusers/pull/10397)'da mevcuttur. | |
| ## IP-Adapter | |
| > [!TIP] | |
| > IP-Adapter'ların nasıl çalıştığını öğrenmek için [IP-Adapter](../../using-diffusers/ip_adapter)'a göz atın. | |
| IP-Adapter, metin isteminin yanı sıra Flux'a görsellerle de istem göndermenizi sağlar. Bu, yalnızca metinle ifade etmesi zor karmaşık kavramları açıklarken ve referans görselleriniz mevcutken özellikle faydalıdır. | |
| ```python | |
| import torch | |
| from diffusers import FluxPipeline | |
| from diffusers.utils import load_image | |
| pipe = FluxPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-dev", dtype=torch.bfloat16 | |
| ).to("cuda") # or "mps", "xpu", "cpu" | |
| image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/flux_ip_adapter_input.jpg").resize((1024, 1024)) | |
| pipe.load_ip_adapter( | |
| "XLabs-AI/flux-ip-adapter", | |
| weight_name="ip_adapter.safetensors", | |
| image_encoder_pretrained_model_name_or_path="openai/clip-vit-large-patch14" | |
| ) | |
| pipe.set_ip_adapter_scale(1.0) | |
| image = pipe( | |
| width=1024, | |
| height=1024, | |
| prompt="wearing sunglasses", | |
| negative_prompt="", | |
| true_cfg_scale=4.0, | |
| generator=torch.Generator().manual_seed(4444), | |
| ip_adapter_image=image, | |
| ).images[0] | |
| image.save('flux_ip_adapter_output.jpg') | |
| ``` | |
| IP-Adapter örnekleri, "güneş gözlüğü takan" istemi | |
| ## Optimize et | |
| Flux çok büyük bir modeldir ve tüm modelleme bileşenlerini yüklemek için ~50GB RAM/VRAM gerektirir. Bellek gereksinimlerini azaltmak için aşağıdaki optimizasyonlardan bazılarını etkinleştirin. | |
| ### Grup dışa aktarma | |
| [Grup dışa aktarma](../../optimization/memory#group-offloading), tüm modeli veya ağırlıkları dışa aktarmak yerine iç katman gruplarını dışa aktararak VRAM kullanımını azaltır. Bir hattın tüm model bileşenlerinde [apply_group_offloading()](/docs/diffusers/main/tr/api/utilities#diffusers.hooks.apply_group_offloading) kullanmanız gerekir. `offload_type` parametresi, blok ve yaprak düzeyi dışa aktarma arasında geçiş yapmanıza olanak tanır. Bu parametreyi `leaf_level` olarak ayarlamak, modül düzeyinde dışa aktarma yerine en alt yaprak düzeyi parametrelerini CPU'ya dışa aktarır. | |
| Asenkron veri akışı destekleyen CUDA cihazlarında, veri aktarımı ile hesaplamayı üst üste bindirerek çıkarımı hızlandırmak için `use_stream=True` değerini ayarlayın. | |
| > [!TIP] | |
| > Bir iş akışındaki farklı bileşenler için blok ve yaprak düzeyi boşaltma (offloading) yöntemlerini karıştırmak mümkündür. | |
| ```py | |
| import torch | |
| from diffusers import FluxPipeline | |
| from diffusers.hooks import apply_group_offloading | |
| model_id = "black-forest-labs/FLUX.1-dev" | |
| dtype = torch.bfloat16 | |
| pipe = FluxPipeline.from_pretrained( | |
| model_id, | |
| dtype=dtype, | |
| ) | |
| apply_group_offloading( | |
| pipe.transformer, | |
| offload_type="leaf_level", | |
| offload_device=torch.device("cpu"), | |
| onload_device=torch.device("cuda"), | |
| use_stream=True, | |
| ) | |
| apply_group_offloading( | |
| pipe.text_encoder, | |
| offload_device=torch.device("cpu"), | |
| onload_device=torch.device("cuda"), | |
| offload_type="leaf_level", | |
| use_stream=True, | |
| ) | |
| apply_group_offloading( | |
| pipe.text_encoder_2, | |
| offload_device=torch.device("cpu"), | |
| onload_device=torch.device("cuda"), | |
| offload_type="leaf_level", | |
| use_stream=True, | |
| ) | |
| apply_group_offloading( | |
| pipe.vae, | |
| offload_device=torch.device("cpu"), | |
| onload_device=torch.device("cuda"), | |
| offload_type="leaf_level", | |
| use_stream=True, | |
| ) | |
| prompt="A cat wearing sunglasses and working as a lifeguard at pool." | |
| generator = torch.Generator().manual_seed(181201) | |
| image = pipe( | |
| prompt, | |
| width=576, | |
| height=1024, | |
| num_inference_steps=30, | |
| generator=generator | |
| ).images[0] | |
| image | |
| ``` | |
| ### FP16 çıkarım çalıştırma | |
| Flux, FP16 ile (yani Turing/Volta GPU'larında çıkarımı hızlandırmak için) yüksek kaliteli görseller üretebilir ancak FP32/BF16'ya kıyasla farklı çıktılar üretir. Sorun, FP16'da çalışırken metin kodlayıcılarındaki bazı aktivasyonların kırpılması (clipping) gerektiğidir; bu durum genel görseli etkiler. Metin kodlayıcılarını FP32 çıkarımıyla çalışmaya zorlamak, bu çıktı farkını ortadan kaldırır. Ayrıntılar için [buraya](https://github.com/huggingface/diffusers/pull/9097#issuecomment-2272292516) bakın. | |
| FP16 çıkarım kodu: | |
| ```python | |
| import torch | |
| from diffusers import FluxPipeline | |
| pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", dtype=torch.bfloat16) # can replace schnell with dev | |
| # to run on low vram GPUs (i.e. between 4 and 32 GB VRAM) | |
| pipe.enable_sequential_cpu_offload() | |
| pipe.vae.enable_slicing() | |
| pipe.vae.enable_tiling() | |
| pipe.to(torch.float16) # casting here instead of in the pipeline constructor because doing so in the constructor loads all models into CPU memory at once | |
| prompt = "A cat holding a sign that says hello world" | |
| out = pipe( | |
| prompt=prompt, | |
| guidance_scale=0., | |
| height=768, | |
| width=1360, | |
| num_inference_steps=4, | |
| max_sequence_length=256, | |
| ).images[0] | |
| out.save("image.png") | |
| ``` | |
| ### Kantizasyon | |
| Kantizasyon, model ağırlıklarını daha düşük hassasiyetli bir veri türünde saklayarak çok büyük modellerin bellek gereksinimlerini azaltmaya yardımcı olur. Ancak kantizasyonun video kalitesi üzerindeki etkisi, video modeline göre değişebilir. | |
| Desteklenen kuantizasyon arka uçları ve kullanım durumunu destekleyen bir kuantizasyon arka ucunu seçme hakkında daha fazla bilgi edinmek için [Quantization](../../quantization/overview) genel bakışına başvurun. Aşağıdaki örnek, bitsandbytes ile çıkarım için kuantize edilmiş bir [FluxPipeline](/docs/diffusers/main/tr/api/pipelines/flux#diffusers.FluxPipeline) yüklemenin nasıl yapılacağını göstermektedir. | |
| ```py | |
| import torch | |
| from diffusers import BitsAndBytesConfig as DiffusersBitsAndBytesConfig, FluxTransformer2DModel, FluxPipeline | |
| from transformers import BitsAndBytesConfig as BitsAndBytesConfig, T5EncoderModel | |
| quant_config = BitsAndBytesConfig(load_in_8bit=True) | |
| text_encoder_8bit = T5EncoderModel.from_pretrained( | |
| "black-forest-labs/FLUX.1-dev", | |
| subfolder="text_encoder_2", | |
| quantization_config=quant_config, | |
| dtype=torch.float16, | |
| ) | |
| quant_config = DiffusersBitsAndBytesConfig(load_in_8bit=True) | |
| transformer_8bit = FluxTransformer2DModel.from_pretrained( | |
| "black-forest-labs/FLUX.1-dev", | |
| subfolder="transformer", | |
| quantization_config=quant_config, | |
| dtype=torch.float16, | |
| ) | |
| pipeline = FluxPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-dev", | |
| text_encoder_2=text_encoder_8bit, | |
| transformer=transformer_8bit, | |
| dtype=torch.float16, | |
| device_map="balanced", | |
| ) | |
| prompt = "a tiny astronaut hatching from an egg on the moon" | |
| image = pipeline(prompt, guidance_scale=3.5, height=768, width=1360, num_inference_steps=50).images[0] | |
| image.save("flux.png") | |
| ``` | |
| ## `FluxTransformer2DModel` için Tek Dosya Yükleme | |
| `FluxTransformer2DModel`, Black Forest Labs tarafından orijinal formatta dağıtılan checkpoint'lerin yüklenmesini destekler. Bu, topluluk tarafından yayımlanmış modellerin ince ayarlı veya kuantize edilmiş sürümlerini yüklemeye çalışırken de faydalıdır. | |
| > [!TIP] | |
| > `FP8` çıkarımı, kullandığınız GPU türüne, CUDA sürümüne ve `torch` sürümüne bağlı olarak kırılgan olabilir. Makinenizde FP8 çıkarımını çalıştırmak için `optimum-quanto` kütüphanesini kullanmanız önerilir. | |
| Aşağıdaki örnek, Flux'ün 16GB'dan az VRAM ile nasıl çalıştırılacağını göstermektedir. | |
| Önce `optimum-quanto` paketini yükleyin | |
| ```shell | |
| pip install optimum-quanto | |
| ``` | |
| Ardından aşağıdaki örneği çalıştırın | |
| ```python | |
| import torch | |
| from diffusers import FluxTransformer2DModel, FluxPipeline | |
| from transformers import T5EncoderModel, CLIPTextModel | |
| from optimum.quanto import freeze, qfloat8, quantize | |
| bfl_repo = "black-forest-labs/FLUX.1-dev" | |
| dtype = torch.bfloat16 | |
| transformer = FluxTransformer2DModel.from_single_file("https://huggingface.co/Kijai/flux-fp8/blob/main/flux1-dev-fp8.safetensors", dtype=dtype) | |
| quantize(transformer, weights=qfloat8) | |
| freeze(transformer) | |
| text_encoder_2 = T5EncoderModel.from_pretrained(bfl_repo, subfolder="text_encoder_2", dtype=dtype) | |
| quantize(text_encoder_2, weights=qfloat8) | |
| freeze(text_encoder_2) | |
| pipe = FluxPipeline.from_pretrained(bfl_repo, transformer=None, text_encoder_2=None, dtype=dtype) | |
| pipe.transformer = transformer | |
| pipe.text_encoder_2 = text_encoder_2 | |
| pipe.enable_model_cpu_offload() | |
| prompt = "A cat holding a sign that says hello world" | |
| image = pipe( | |
| prompt, | |
| guidance_scale=3.5, | |
| output_type="pil", | |
| num_inference_steps=20, | |
| generator=torch.Generator("cpu").manual_seed(0) | |
| ).images[0] | |
| image.save("flux-fp8-dev.png") | |
| ``` | |
| ## FluxPipeline[[diffusers.FluxPipeline]] | |
| #### diffusers.FluxPipeline[[diffusers.FluxPipeline]] | |
| ```python | |
| diffusers.FluxPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel, image_encoder: CLIPVisionModelWithProjection = None, feature_extractor: CLIPImageProcessorPil = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux.py#L146) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Metinden görüntüye üretim için Flux hattı. | |
| Referans: https://blackforestlabs.ai/announcing-black-forest-labs/ | |
| #### __call__[[diffusers.FluxPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, negative_prompt: str | list[str] = None, negative_prompt_2: str | list[str] | None = None, true_cfg_scale: float = 1.0, height: int | None = None, width: int | None = None, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 3.5, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, negative_ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux.py#L600) | |
| **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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt` kullanılır. | |
| 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` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `true_cfg_scale`, `1`'den büyük olmadığında) yok sayılır. | |
| negative_prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için `tokenizer_2` ve `text_encoder_2`'ye gönderilmeyecek istem veya istemler. Tanımlanmamışsa, `negative_prompt` tüm metin kodlayıcılarda kullanılır. | |
| true_cfg_scale (`float`, *isteğe bağlı*, varsayılan 1.0) : `true_cfg_scale` > 1 olduğunda ve `negative_prompt` sağlandığında True sınıflandırıcı-ücretsiz yönlendirme (yönlendirme ölçeği) etkinleştirilir. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 3.5) : Gömülü yönlendirme ölçeği, `guidance_scale` > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek `guidance_scale`, modelin `prompt` ile daha uyumlu görseller üretmesini teşvik eder ancak görsel kalitesinin düşmesi pahasına. Yönlendirme damıtılmış modeller, `guidance_scale` > 1 için gerçek sınıf-ücretsiz yönlendirmeyi (true classifier-free guidance) yaklaşık olarak sağlar. Daha fazla bilgi için [makaleye](https://huggingface.co/papers/2210.03142) bakın. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| negative_ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden 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. | |
| negative_pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulacaktır. | |
| 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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxPipeline | |
| >>> pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16) | |
| >>> pipe.to("cuda") | |
| >>> prompt = "A cat holding a sign that says hello world" | |
| >>> # Depending on the variant being used, the pipeline call will slightly vary. | |
| >>> # Refer to the pipeline documentation for more details. | |
| >>> image = pipe(prompt, num_inference_steps=4, guidance_scale=0.0).images[0] | |
| >>> image.save("flux.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux.py#L312) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxImg2ImgPipeline[[diffusers.FluxImg2ImgPipeline]] | |
| #### diffusers.FluxImg2ImgPipeline[[diffusers.FluxImg2ImgPipeline]] | |
| ```python | |
| diffusers.FluxImg2ImgPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel, image_encoder: CLIPVisionModelWithProjection = None, feature_extractor: CLIPImageProcessorPil = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_img2img.py#L169) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Görsel inpainting için Flux hattı. | |
| Referans: https://blackforestlabs.ai/announcing-black-forest-labs/ | |
| #### __call__[[diffusers.FluxImg2ImgPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, negative_prompt: str | list[str] = None, negative_prompt_2: str | list[str] | None = None, true_cfg_scale: float = 1.0, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, height: int | None = None, width: int | None = None, strength: float = 0.6, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 7.0, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, negative_ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_img2img.py#L678) | |
| **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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa bunun yerine `prompt` kullanılır | |
| 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` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `true_cfg_scale`, `1`'den büyük olmadığında) yok sayılır. | |
| negative_prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için `tokenizer_2` ve `text_encoder_2`'ye gönderilmeyecek istem veya istemler. Tanımlanmamışsa, `negative_prompt` tüm metin kodlayıcılarda kullanılır. | |
| true_cfg_scale (`float`, *isteğe bağlı*, varsayılan 1.0) : `true_cfg_scale` > 1 olduğunda ve `negative_prompt` sağlandığında True sınıflandırıcı-ücretsiz yönlendirme (yönlendirme ölçeği) etkinleştirilir. | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. Ayrıca `image` olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| strength (`float`, *opsiyonel*, varsayılan 1.0) : Referans `image`'in ne ölçüde dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılır ve `strength` değeri arttıkça daha fazla gürültü eklenir. 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ü maksimumdur ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, `image`'ı 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktı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. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden 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. | |
| negative_pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulacaktır. | |
| ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| negative_ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| 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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxImg2ImgPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> device = "cuda" | |
| >>> pipe = FluxImg2ImgPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16) | |
| >>> pipe = pipe.to(device) | |
| >>> url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg" | |
| >>> init_image = load_image(url).resize((1024, 1024)) | |
| >>> prompt = "cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney, 8k" | |
| >>> images = pipe( | |
| ... prompt=prompt, image=init_image, num_inference_steps=4, strength=0.95, guidance_scale=0.0 | |
| ... ).images[0] | |
| ``` | |
| #### encode_prompt[[diffusers.FluxImg2ImgPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_img2img.py#L335) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxInpaintPipeline[[diffusers.FluxInpaintPipeline]] | |
| #### diffusers.FluxInpaintPipeline[[diffusers.FluxInpaintPipeline]] | |
| ```python | |
| diffusers.FluxInpaintPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel, image_encoder: CLIPVisionModelWithProjection = None, feature_extractor: CLIPImageProcessorPil = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_inpaint.py#L166) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Görsel inpainting için Flux hattı. | |
| Referans: https://blackforestlabs.ai/announcing-black-forest-labs/ | |
| #### __call__[[diffusers.FluxInpaintPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, negative_prompt: str | list[str] = None, negative_prompt_2: str | list[str] | None = None, true_cfg_scale: float = 1.0, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, mask_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, masked_image_latents: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, height: int | None = None, width: int | None = None, padding_mask_crop: int | None = None, strength: float = 0.6, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 7.0, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, negative_ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_inpaint.py#L777) | |
| **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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa bunun yerine `prompt` kullanılır | |
| 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` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `true_cfg_scale`, `1`'den büyük olmadığında) yok sayılır. | |
| negative_prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için `tokenizer_2` ve `text_encoder_2`'ye gönderilmeyecek istem veya istemler. Tanımlanmamışsa, `negative_prompt` tüm metin kodlayıcılarda kullanılır. | |
| true_cfg_scale (`float`, *isteğe bağlı*, varsayılan 1.0) : `true_cfg_scale` > 1 olduğunda ve `negative_prompt` sağlandığında True sınıflandırıcı-ücretsiz yönlendirme (yönlendirme ölçeği) etkinleştirilir. | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. Ayrıca `image` olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz. | |
| mask_image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : `image` için maske uygulanacak görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Maske içindeki beyaz pikseller yeniden boyanırken siyah pikseller korunur. `mask_image` bir PIL görüntüsü ise, kullanılmadan önce tek kanala (parlaklık) dönüştürülür. Numpy dizisi veya pytorch tensörü ise 3 kanal yerine tek renk kanalı (L) içermelidir; bu nedenle pytorch tensörü için beklenen şekil `(B, 1, H, W)`, `(B, H, W)`, `(1, H, W)` veya `(H, W)` olur. Numpy dizisi için ise `(B, H, W, 1)`, `(B, H, W)`, `(H, W, 1)` veya `(H, W)` şeklindedir. | |
| masked_image_latents (`torch.Tensor`, `list[torch.Tensor]`) : VAE tarafından üretilen `image`'ı maskelemek için bir görüntü partisini temsil eden `Tensor`. Sağlanmazsa, maske latentsi tensörü `mask_image` tarafından oluşturulur. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| padding_mask_crop (`int`, *isteğe bağlı*, varsayılan `None`) : Görüntü ve maskelemeye uygulanacak kırpmanın kenar boşluğu boyutu. `None` ise, görüntü ve mask_image'a kırpma uygulanmaz. `padding_mask_crop` `None` değilse, önce görüntü ile aynı en-boy oranına sahip ve tüm maskelenmiş alanı içeren dikdörtgen bir bölge bulunur, ardından bu alan `padding_mask_crop` değerine göre genişletilir. Ardından görüntü ve mask_image, inpainting için orijinal görüntü boyutuna yeniden boyutlandırılmadan önce genişletilen alana göre kırpılır. Bu, maskelenmiş alanın küçükken görüntünün büyük olması ve inpainting için alakasız bilgiler (örneğin arka plan) içermesi durumunda faydalıdır. | |
| strength (`float`, *opsiyonel*, varsayılan 1.0) : Referans `image`'in ne ölçüde dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılır ve `strength` değeri arttıkça daha fazla gürültü eklenir. 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ü maksimumdur ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, `image`'ı 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktı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. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden 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. | |
| negative_pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulacaktır. | |
| ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| negative_ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| 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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxInpaintPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> pipe = FluxInpaintPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16) | |
| >>> pipe.to("cuda") | |
| >>> prompt = "Face of a yellow cat, high resolution, sitting on a park bench" | |
| >>> img_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png" | |
| >>> mask_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png" | |
| >>> source = load_image(img_url) | |
| >>> mask = load_image(mask_url) | |
| >>> image = pipe(prompt=prompt, image=source, mask_image=mask).images[0] | |
| >>> image.save("flux_inpainting.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxInpaintPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_inpaint.py#L339) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxControlNetInpaintPipeline[[diffusers.FluxControlNetInpaintPipeline]] | |
| #### diffusers.FluxControlNetInpaintPipeline[[diffusers.FluxControlNetInpaintPipeline]] | |
| ```python | |
| diffusers.FluxControlNetInpaintPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel, controlnet: diffusers.models.controlnets.controlnet_flux.FluxControlNetModel | list[diffusers.models.controlnets.controlnet_flux.FluxControlNetModel] | tuple[diffusers.models.controlnets.controlnet_flux.FluxControlNetModel] | diffusers.models.controlnets.controlnet_flux.FluxMultiControlNetModel) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_controlnet_inpainting.py#L174) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Inpainting için Flux controlnet hattı. | |
| Referans: https://blackforestlabs.ai/announcing-black-forest-labs/ | |
| #### __call__[[diffusers.FluxControlNetInpaintPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, mask_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, masked_image_latents: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, control_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, height: int | None = None, width: int | None = None, strength: float = 0.6, padding_mask_crop: int | None = None, sigmas: list[float] | None = None, num_inference_steps: int = 28, guidance_scale: float = 7.0, control_guidance_start: float | list[float] = 0.0, control_guidance_end: float | list[float] = 1.0, control_mode: int | list[int] | None = None, controlnet_conditioning_scale: float | list[float] = 1.0, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_controlnet_inpainting.py#L741) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. | |
| image (`PIL.Image.Image` veya `list[PIL.Image.Image]` veya `torch.FloatTensor`) : Inpainting yapılacak görüntü(ler). | |
| mask_image (`PIL.Image.Image` veya `list[PIL.Image.Image]` veya `torch.FloatTensor`) : Inpainting için kullanılacak maske görüntüsü/görüntüleri. Maskedeki beyaz pikseller yeniden boyanacak, siyah pikseller ise korunacaktır. | |
| masked_image_latents (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş maskeli görüntü latentleri. | |
| control_image (`PIL.Image.Image` veya `list[PIL.Image.Image]` veya `torch.FloatTensor`) : ControlNet girdi koşulu. Üretimi kontrol etmek için kullanılan görüntü. | |
| height (`int`, *isteğe bağlı*, varsayılan: self.default_sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. | |
| width (`int`, *isteğe bağlı*, varsayılan: self.default_sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. | |
| strength (`float`, *isteğe bağlı*, varsayılan 0.6) : Kavramsal olarak, maskelenmiş alanın ne kadar doldurulacağını belirtir. 0 ile 1 arasında olmalıdır. | |
| padding_mask_crop (`int`, *isteğe bağlı*) : Maske kırpılırken kullanılacak dolgu boyutu. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 28) : 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktı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. | |
| control_guidance_start (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 0.0) : ControlNet'in uygulamaya başladığı toplam adım yüzdesi. | |
| control_guidance_end (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 1.0) : ControlNet'in uygulamayı durdurduğu toplam adım yüzdesi. | |
| control_mode (`int` veya `list[int]`, *isteğe bağlı*) : ControlNet için mod. Birden fazla ControlNet kullanılıyorsa, bu bir liste olmalıdır. | |
| controlnet_conditioning_scale (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 1.0) : ControlNet çıktıları, orijinal transformer'daki artığa eklenmeden önce `controlnet_conditioning_scale` ile çarpılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya daha fazla [torch üreteci](https://pytorch.org/docs/stable/generated/torch.Generator.html). | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ince ayar yapmak için kullanılabilir. | |
| prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. `PIL.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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_attention_kwargs (`dict`, *isteğe bağlı*) : Ortak dikkat mekanizmasına iletilecek ek anahtar kelime argümanları. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. | |
| callback_on_step_end_tensor_inputs (`list[str]`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörleri listesi. | |
| max_sequence_length (`int`, *isteğe bağlı*, varsayılan 512) : Üretilecek dizinin maksimum uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxControlNetInpaintPipeline | |
| >>> from diffusers.models import FluxControlNetModel | |
| >>> from diffusers.utils import load_image | |
| >>> controlnet = FluxControlNetModel.from_pretrained( | |
| ... "InstantX/FLUX.1-dev-controlnet-canny", torch_dtype=torch.float16 | |
| ... ) | |
| >>> pipe = FluxControlNetInpaintPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.1-schnell", controlnet=controlnet, torch_dtype=torch.float16 | |
| ... ) | |
| >>> pipe.to("cuda") | |
| >>> control_image = load_image( | |
| ... "https://huggingface.co/InstantX/FLUX.1-dev-Controlnet-Canny-alpha/resolve/main/canny.jpg" | |
| ... ) | |
| >>> init_image = load_image( | |
| ... "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png" | |
| ... ) | |
| >>> mask_image = load_image( | |
| ... "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png" | |
| ... ) | |
| >>> prompt = "A girl holding a sign that says InstantX" | |
| >>> image = pipe( | |
| ... prompt, | |
| ... image=init_image, | |
| ... mask_image=mask_image, | |
| ... control_image=control_image, | |
| ... control_guidance_start=0.2, | |
| ... control_guidance_end=0.8, | |
| ... controlnet_conditioning_scale=0.7, | |
| ... strength=0.7, | |
| ... num_inference_steps=28, | |
| ... guidance_scale=3.5, | |
| ... ).images[0] | |
| >>> image.save("flux_controlnet_inpaint.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxControlNetInpaintPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_controlnet_inpainting.py#L349) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxControlNetImg2ImgPipeline[[diffusers.FluxControlNetImg2ImgPipeline]] | |
| #### diffusers.FluxControlNetImg2ImgPipeline[[diffusers.FluxControlNetImg2ImgPipeline]] | |
| ```python | |
| diffusers.FluxControlNetImg2ImgPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel, controlnet: diffusers.models.controlnets.controlnet_flux.FluxControlNetModel | list[diffusers.models.controlnets.controlnet_flux.FluxControlNetModel] | tuple[diffusers.models.controlnets.controlnet_flux.FluxControlNetModel] | diffusers.models.controlnets.controlnet_flux.FluxMultiControlNetModel) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_controlnet_image_to_image.py#L172) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Görselden görsel üretimi için Flux controlnet hattı. | |
| Referans: https://blackforestlabs.ai/announcing-black-forest-labs/ | |
| #### __call__[[diffusers.FluxControlNetImg2ImgPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, control_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, height: int | None = None, width: int | None = None, strength: float = 0.6, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 7.0, control_guidance_start: float | list[float] = 0.0, control_guidance_end: float | list[float] = 1.0, control_mode: int | list[int] | None = None, controlnet_conditioning_scale: float | list[float] = 1.0, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_controlnet_image_to_image.py#L637) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. | |
| image (`PIL.Image.Image` veya `list[PIL.Image.Image]` veya `torch.FloatTensor`) : Pipeline ile değiştirilecek görüntü(ler). | |
| control_image (`PIL.Image.Image` veya `list[PIL.Image.Image]` veya `torch.FloatTensor`) : ControlNet girdi koşulu. Üretimi kontrol etmek için kullanılan görüntü. | |
| height (`int`, *isteğe bağlı*, varsayılan: self.default_sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. | |
| width (`int`, *isteğe bağlı*, varsayılan: self.default_sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. | |
| strength (`float`, *opsiyonel*, varsayılan 0.6) : Kavramsal olarak, referans `image`'in ne kadar dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 28) : 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktı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. | |
| control_mode (`int` veya `list[int]`, *isteğe bağlı*) : ControlNet için mod. Birden fazla ControlNet kullanılıyorsa, bu bir liste olmalıdır. | |
| controlnet_conditioning_scale (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 1.0) : ControlNet çıktıları, orijinal transformer'daki artığa eklenmeden önce `controlnet_conditioning_scale` ile çarpılır. | |
| control_guidance_start (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 0.0) : ControlNet'in uygulamaya başladığı toplam adım yüzdesi. | |
| control_guidance_end (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 1.0) : ControlNet'in uygulamayı durdurduğu toplam adım yüzdesi. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir veya daha fazla [torch üreteci](https://pytorch.org/docs/stable/generated/torch.Generator.html). | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ince ayar yapmak için kullanılabilir. | |
| prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. `PIL.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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_attention_kwargs (`dict`, *isteğe bağlı*) : Ortak dikkat mekanizmasına iletilecek ek anahtar kelime argümanları. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. | |
| callback_on_step_end_tensor_inputs (`list[str]`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörleri listesi. | |
| max_sequence_length (`int`, *isteğe bağlı*, varsayılan 512) : Üretilecek dizinin maksimum uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxControlNetImg2ImgPipeline, FluxControlNetModel | |
| >>> from diffusers.utils import load_image | |
| >>> device = "cuda" if torch.cuda.is_available() else "cpu" | |
| >>> controlnet = FluxControlNetModel.from_pretrained( | |
| ... "InstantX/FLUX.1-dev-Controlnet-Canny-alpha", torch_dtype=torch.bfloat16 | |
| ... ) | |
| >>> pipe = FluxControlNetImg2ImgPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.1-schnell", controlnet=controlnet, torch_dtype=torch.float16 | |
| ... ) | |
| >>> pipe.text_encoder.to(torch.float16) | |
| >>> pipe.controlnet.to(torch.float16) | |
| >>> pipe.to("cuda") | |
| >>> control_image = load_image("https://huggingface.co/InstantX/SD3-Controlnet-Canny/resolve/main/canny.jpg") | |
| >>> init_image = load_image( | |
| ... "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg" | |
| ... ) | |
| >>> prompt = "A girl in city, 25 years old, cool, futuristic" | |
| >>> image = pipe( | |
| ... prompt, | |
| ... image=init_image, | |
| ... control_image=control_image, | |
| ... control_guidance_start=0.2, | |
| ... control_guidance_end=0.8, | |
| ... controlnet_conditioning_scale=1.0, | |
| ... strength=0.7, | |
| ... num_inference_steps=2, | |
| ... guidance_scale=3.5, | |
| ... ).images[0] | |
| >>> image.save("flux_controlnet_img2img.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxControlNetImg2ImgPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_controlnet_image_to_image.py#L338) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxControlPipeline[[diffusers.FluxControlPipeline]] | |
| #### diffusers.FluxControlPipeline[[diffusers.FluxControlPipeline]] | |
| ```python | |
| diffusers.FluxControlPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_control.py#L159) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Görsel koşullarla kontrollü metinden görsel üretimi için Flux hattı. | |
| Referans: https://bfl.ai/flux-1-tools | |
| #### __call__[[diffusers.FluxControlPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, control_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 3.5, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_control.py#L583) | |
| **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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa bunun yerine `prompt` kullanılır | |
| control_image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]`, `list[np.ndarray]`, : `list[list[torch.Tensor]]`, `list[list[np.ndarray]]` veya `list[list[PIL.Image.Image]]`): Üretim sırasında `unet`'e rehberlik sağlamak için sağlanacak ControlNet giriş koşulu. Tür `torch.Tensor` olarak belirtilirse, ControlNet'e olduğu gibi iletilir. `PIL.Image.Image` de bir görüntü olarak kabul edilebilir. Çıktı görüntüsünün boyutları varsayılan olarak `image`'ın boyutlarına eşittir. Yükseklik ve/veya genişlik geçirilirse, `image` buna göre yeniden boyutlandırılır. `init` içinde birden fazla ControlNet belirtilmişse, her bir ControlNet'e girdi olarak doğru şekilde toplu işlenebilmesi için görüntülerin bir liste olarak geçirilmesi gerekir. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır. | |
| guidance_scale (`float`, *opsiyonel*, varsayılan 3.5) : Gömülü yönlendirme ölçeği, `guidance_scale` > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek `guidance_scale`, modelin prompt ile daha uyumlu görseller üretmesini teşvik eder ancak bunun bedeli daha düşük görsel kalitedir. Yönlendirme damıtılmış modeller, `guidance_scale` > 1 için gerçek sınıflandırıcı-ücretsiz yönlendirmeyi (classifier-free guidance) yaklaşık olarak sağlar. Daha fazla bilgi için [makaleye](https://huggingface.co/papers/2210.03142) bakın. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from controlnet_aux import CannyDetector | |
| >>> from diffusers import FluxControlPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> pipe = FluxControlPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.1-Canny-dev", torch_dtype=torch.bfloat16 | |
| ... ).to("cuda") | |
| >>> prompt = "A robot made of exotic candies and chocolates of different kinds. The background is filled with confetti and celebratory gifts." | |
| >>> control_image = load_image( | |
| ... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/robot.png" | |
| ... ) | |
| >>> processor = CannyDetector() | |
| >>> control_image = processor( | |
| ... control_image, low_threshold=50, high_threshold=200, detect_resolution=1024, image_resolution=1024 | |
| ... ) | |
| >>> image = pipe( | |
| ... prompt=prompt, | |
| ... control_image=control_image, | |
| ... height=1024, | |
| ... width=1024, | |
| ... num_inference_steps=50, | |
| ... guidance_scale=30.0, | |
| ... ).images[0] | |
| >>> image.save("output.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxControlPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_control.py#L326) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxControlImg2ImgPipeline[[diffusers.FluxControlImg2ImgPipeline]] | |
| #### diffusers.FluxControlImg2ImgPipeline[[diffusers.FluxControlImg2ImgPipeline]] | |
| ```python | |
| diffusers.FluxControlImg2ImgPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_control_img2img.py#L178) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Görsel inpainting için Flux hattı. | |
| Referans: https://blackforestlabs.ai/announcing-black-forest-labs/ | |
| #### __call__[[diffusers.FluxControlImg2ImgPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, control_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, height: int | None = None, width: int | None = None, strength: float = 0.6, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 7.0, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_control_img2img.py#L636) | |
| **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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa bunun yerine `prompt` kullanılır | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. Ayrıca `image` olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz. | |
| control_image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]`, `list[np.ndarray]`, : `list[list[torch.Tensor]]`, `list[list[np.ndarray]]` veya `list[list[PIL.Image.Image]]`): Üretim sırasında `unet`'e rehberlik sağlamak için sağlanacak ControlNet giriş koşulu. Tür `torch.Tensor` olarak belirtilirse, ControlNet'e olduğu gibi iletilir. `PIL.Image.Image` de bir görüntü olarak kabul edilebilir. Çıktı görüntüsünün boyutları varsayılan olarak `image`'ın boyutlarına eşittir. Yükseklik ve/veya genişlik geçirilirse, `image` buna göre yeniden boyutlandırılır. `init` içinde birden fazla ControlNet belirtilmişse, her bir ControlNet'e girdi olarak doğru şekilde toplu işlenebilmesi için görüntülerin bir liste olarak geçirilmesi gerekir. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| strength (`float`, *opsiyonel*, varsayılan 1.0) : Referans `image`'in ne ölçüde dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılır ve `strength` değeri arttıkça daha fazla gürültü eklenir. 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ü maksimumdur ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, `image`'ı 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktı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. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from controlnet_aux import CannyDetector | |
| >>> from diffusers import FluxControlImg2ImgPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> pipe = FluxControlImg2ImgPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.1-Canny-dev", torch_dtype=torch.bfloat16 | |
| ... ).to("cuda") | |
| >>> prompt = "A robot made of exotic candies and chocolates of different kinds. Abstract background" | |
| >>> image = load_image( | |
| ... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/watercolor-painting.jpg" | |
| ... ) | |
| >>> control_image = load_image( | |
| ... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/robot.png" | |
| ... ) | |
| >>> processor = CannyDetector() | |
| >>> control_image = processor( | |
| ... control_image, low_threshold=50, high_threshold=200, detect_resolution=1024, image_resolution=1024 | |
| ... ) | |
| >>> image = pipe( | |
| ... prompt=prompt, | |
| ... image=image, | |
| ... control_image=control_image, | |
| ... strength=0.8, | |
| ... height=1024, | |
| ... width=1024, | |
| ... num_inference_steps=50, | |
| ... guidance_scale=30.0, | |
| ... ).images[0] | |
| >>> image.save("output.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxControlImg2ImgPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_control_img2img.py#L337) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxPriorReduxPipeline[[diffusers.FluxPriorReduxPipeline]] | |
| #### diffusers.FluxPriorReduxPipeline[[diffusers.FluxPriorReduxPipeline]] | |
| ```python | |
| diffusers.FluxPriorReduxPipeline(image_encoder: SiglipVisionModel, feature_extractor: SiglipImageProcessorPil, image_embedder: ReduxImageEncoder, text_encoder: CLIPTextModel = None, tokenizer: CLIPTokenizer = None, text_encoder_2: T5EncoderModel = None, tokenizer_2: T5Tokenizer = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_prior_redux.py#L83) | |
| **Parametreler:** | |
| image_encoder (`SiglipVisionModel`) : Girdi görüntüsünü kodlamak için kullanılan SIGLIP görme modeli. | |
| feature_extractor (`SiglipImageProcessor`) : SIGLIP modeli için görüntüleri ön işlemeye yönelik görüntü işleyici. | |
| image_embedder (`ReduxImageEncoder`) : SIGLIP gömümelerini işlemek için Redux görüntü kodlayıcısı. | |
| text_encoder (`CLIPTextModel`, *isteğe bağlı*) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`, *isteğe bağlı*) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`, *isteğe bağlı*) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfından bir tokenizer. | |
| tokenizer_2 (`T5TokenizerFast`, *isteğe bağlı*) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfından ikinci Tokenizer. | |
| Görselden görsel üretimi için Flux Redux hattı. | |
| Referans: https://blackforestlabs.ai/flux-1-tools/ | |
| #### __call__[[diffusers.FluxPriorReduxPipeline.__call__]] | |
| ```python | |
| __call__(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, prompt_embeds_scale: float | list[float] | None = 1.0, pooled_prompt_embeds_scale: float | list[float] | None = 1.0, return_dict: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_prior_redux.py#L378) | |
| **Parametreler:** | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. **deneysel özellik**: Bu özelliği kullanmak için metin kodlayıcıları (text encoders) boru hattına açıkça yüklenmelidir. Metin kodlayıcılar yüklenmediyse istemler yok sayılır. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. | |
| prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. | |
| prompt_embeds_scale (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 1.0) : Dönüş yapılmadan önce redux prompt gömcelerine uygulanan ölçekleme faktörü (veya görsel başına ölçekleme faktörü listesi). | |
| pooled_prompt_embeds_scale (`float` veya `list[float]`, *isteğe bağlı*, varsayılan 1.0) : Dönüş yapılmadan önce redux havuzlanmış istem gömme değerlerine uygulanan ölçekleme çarpanı (veya görsel başına ölçekleme çarpanları listesi). | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~pipelines.flux.FluxPriorReduxPipelineOutput` döndürülecek mi? | |
| **Dönüş:** `~pipelines.flux.FluxPriorReduxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPriorReduxPipelineOutput`, aksi halde `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxPriorReduxPipeline, FluxPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> device = "cuda" | |
| >>> dtype = torch.bfloat16 | |
| >>> repo_redux = "black-forest-labs/FLUX.1-Redux-dev" | |
| >>> repo_base = "black-forest-labs/FLUX.1-dev" | |
| >>> pipe_prior_redux = FluxPriorReduxPipeline.from_pretrained(repo_redux, torch_dtype=dtype).to(device) | |
| >>> pipe = FluxPipeline.from_pretrained( | |
| ... repo_base, text_encoder=None, text_encoder_2=None, torch_dtype=torch.bfloat16 | |
| ... ).to(device) | |
| >>> image = load_image( | |
| ... "https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/style_ziggy/img5.png" | |
| ... ) | |
| >>> pipe_prior_output = pipe_prior_redux(image) | |
| >>> images = pipe( | |
| ... guidance_scale=2.5, | |
| ... num_inference_steps=50, | |
| ... generator=torch.Generator("cpu").manual_seed(0), | |
| ... **pipe_prior_output, | |
| ... ).images | |
| >>> images[0].save("flux-redux.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxPriorReduxPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_prior_redux.py#L299) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxFillPipeline[[diffusers.FluxFillPipeline]] | |
| #### diffusers.FluxFillPipeline[[diffusers.FluxFillPipeline]] | |
| ```python | |
| diffusers.FluxFillPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_fill.py#L167) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Görsel inpainting/outpainting için Flux Fill hattı. | |
| Referans: https://blackforestlabs.ai/flux-1-tools/ | |
| #### __call__[[diffusers.FluxFillPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, image: typing.Optional[torch.FloatTensor] = None, mask_image: typing.Optional[torch.FloatTensor] = None, masked_image_latents: typing.Optional[torch.FloatTensor] = None, height: int | None = None, width: int | None = None, strength: float = 1.0, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float = 30.0, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_fill.py#L700) | |
| **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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa bunun yerine `prompt` kullanılır | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. | |
| mask_image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : `image` için maske uygulanacak görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Maske içindeki beyaz pikseller yeniden boyanırken siyah pikseller korunur. `mask_image` bir PIL görüntüsü ise, kullanılmadan önce tek kanala (parlaklık) dönüştürülür. Numpy dizisi veya pytorch tensörü ise 3 kanal yerine tek renk kanalı (L) içermelidir; bu nedenle pytorch tensörü için beklenen şekil `(B, 1, H, W)`, `(B, H, W)`, `(1, H, W)` veya `(H, W)` olur. Numpy dizisi için ise `(B, H, W, 1)`, `(B, H, W)`, `(H, W, 1)` veya `(H, W)` şeklindedir. | |
| masked_image_latents (`torch.Tensor`, `list[torch.Tensor]`) : VAE tarafından üretilen `image`'ı maskelemek için bir görüntü partisini temsil eden `Tensor`. Sağlanmazsa, maske latentsi tensörü `mask_image` tarafından oluşturulur. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| strength (`float`, *opsiyonel*, varsayılan 1.0) : Referans `image`'in ne ölçüde dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılır ve `strength` değeri arttıkça daha fazla gürültü eklenir. 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ü maksimumdur ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, `image`'ı 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır. | |
| guidance_scale (`float`, *opsiyonel*, varsayılan 30.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlanan 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. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxFillPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/cup.png") | |
| >>> mask = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/cup_mask.png") | |
| >>> pipe = FluxFillPipeline.from_pretrained("black-forest-labs/FLUX.1-Fill-dev", torch_dtype=torch.bfloat16) | |
| >>> pipe.enable_model_cpu_offload() # save some VRAM by offloading the model to CPU | |
| >>> image = pipe( | |
| ... prompt="a white paper cup", | |
| ... image=image, | |
| ... mask_image=mask, | |
| ... height=1632, | |
| ... width=1232, | |
| ... guidance_scale=30, | |
| ... num_inference_steps=50, | |
| ... max_sequence_length=512, | |
| ... generator=torch.Generator("cpu").manual_seed(0), | |
| ... ).images[0] | |
| >>> image.save("flux_fill.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxFillPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_fill.py#L421) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxKontextPipeline[[diffusers.FluxKontextPipeline]] | |
| #### diffusers.FluxKontextPipeline[[diffusers.FluxKontextPipeline]] | |
| ```python | |
| diffusers.FluxKontextPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel, image_encoder: CLIPVisionModelWithProjection = None, feature_extractor: CLIPImageProcessorPil = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_kontext.py#L190) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Görselden görsel ve metinden görsel üretimi için Flux Kontext hattı. | |
| Referans: https://bfl.ai/announcements/flux-1-kontext-dev | |
| #### __call__[[diffusers.FluxKontextPipeline.__call__]] | |
| ```python | |
| __call__(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, negative_prompt: str | list[str] = None, negative_prompt_2: str | list[str] | None = None, true_cfg_scale: float = 1.0, height: int | None = None, width: int | None = None, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 3.5, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, negative_ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512, max_area: int = 1048576, _auto_resize: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_kontext.py#L695) | |
| **Parametreler:** | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. Ayrıca `image` olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz. | |
| 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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt` kullanılır. | |
| 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` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `true_cfg_scale`, `1`'den büyük olmadığında) yok sayılır. | |
| negative_prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için `tokenizer_2` ve `text_encoder_2`'ye gönderilmeyecek istem veya istemler. Tanımlanmamışsa, `negative_prompt` tüm metin kodlayıcılarda kullanılır. | |
| true_cfg_scale (`float`, *opsiyonel*, varsayılan 1.0) : > 1.0 olduğunda ve bir `negative_prompt` sağlandığında, gerçek sınıflandırıcı-ücretsiz yönlendirmeyi (true classifier-free guidance) etkinleştirir. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır. | |
| guidance_scale (`float`, *opsiyonel*, varsayılan 3.5) : Gömülü yönlendirme ölçeği, `guidance_scale` > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek `guidance_scale`, modelin prompt ile daha uyumlu görseller üretmesini teşvik eder ancak bunun bedeli daha düşük görsel kalitedir. Yönlendirme damıtılmış modeller, `guidance_scale` > 1 için gerçek sınıflandırıcı-ücretsiz yönlendirmeyi (classifier-free guidance) yaklaşık olarak sağlar. Daha fazla bilgi için [makaleye](https://huggingface.co/papers/2210.03142) bakın. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| negative_ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden 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. | |
| negative_pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulacaktır. | |
| 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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| max_area (`int`, varsayılan `1024 ** 2`) : Üretilen görüntünün piksel cinsinden maksimum alanı. Yükseklik ve genişlik, en-boy oranını koruyarak bu alana sığacak şekilde ayarlanır. | |
| _auto_resize (`bool`, *isteğe bağlı*, varsayılan `True`) : Girdi görüntüsünün tercih edilen çözünürlüklere otomatik olarak yeniden boyutlandırılıp boyutlandırılmayacağını belirtir. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxKontextPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> pipe = FluxKontextPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.1-Kontext-dev", torch_dtype=torch.bfloat16 | |
| ... ) | |
| >>> pipe.to("cuda") | |
| >>> image = load_image( | |
| ... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/yarn-art-pikachu.png" | |
| ... ).convert("RGB") | |
| >>> prompt = "Make Pikachu hold a sign that says 'Black Forest Labs is awesome', yarn art style, detailed, vibrant colors" | |
| >>> image = pipe( | |
| ... image=image, | |
| ... prompt=prompt, | |
| ... guidance_scale=2.5, | |
| ... generator=torch.Generator().manual_seed(42), | |
| ... ).images[0] | |
| >>> image.save("output.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxKontextPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_kontext.py#L360) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
| ## FluxKontextInpaintPipeline[[diffusers.FluxKontextInpaintPipeline]] | |
| #### diffusers.FluxKontextInpaintPipeline[[diffusers.FluxKontextInpaintPipeline]] | |
| ```python | |
| diffusers.FluxKontextInpaintPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModel, tokenizer: CLIPTokenizer, text_encoder_2: T5EncoderModel, tokenizer_2: T5Tokenizer, transformer: FluxTransformer2DModel, image_encoder: CLIPVisionModelWithProjection = None, feature_extractor: CLIPImageProcessorPil = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_kontext_inpaint.py#L214) | |
| **Parametreler:** | |
| transformer ([FluxTransformer2DModel](/docs/diffusers/main/tr/api/models/flux_transformer#diffusers.FluxTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`CLIPTextModel`) : [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), özellikle [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) varyantı. | |
| text_encoder_2 (`T5EncoderModel`) : [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), özellikle [google/t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl) varyantı. | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| tokenizer_2 (`T5TokenizerFast`) : [T5TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5TokenizerFast) sınıfının ikinci Tokenizer'ı. | |
| Metinden görüntüye üretim için Flux Kontext hattı. | |
| Referans: https://blackforestlabs.ai/announcing-black-forest-labs/ | |
| #### __call__[[diffusers.FluxKontextInpaintPipeline.__call__]] | |
| ```python | |
| __call__(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, image_reference: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, mask_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, negative_prompt: str | list[str] = None, negative_prompt_2: str | list[str] | None = None, true_cfg_scale: float = 1.0, height: int | None = None, width: int | None = None, strength: float = 1.0, padding_mask_crop: int | None = None, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 3.5, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_ip_adapter_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, negative_ip_adapter_image_embeds: list[torch.Tensor] | None = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512, max_area: int = 1048576, _auto_resize: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_kontext_inpaint.py#L884) | |
| **Parametreler:** | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : `Image`, inpainting işlemine tabi tutulacak bir görüntü partisyonunu temsil eden numpy dizisi veya tensör (görüntünün hangi kısımlarının `mask_image` ile maskeleme altına alınacağı ve `prompt` ile `image_reference`'a göre yeniden boyanacağı). Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. Ayrıca `image` olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz. | |
| image_reference (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : `Image`, maskeli alanın başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır. Ayrıca `image` olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz. | |
| mask_image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : `image` için maske uygulanacak görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Maske içindeki beyaz pikseller yeniden boyanırken siyah pikseller korunur. `mask_image` bir PIL görüntüsü ise, kullanılmadan önce tek kanala (parlaklık) dönüştürülür. Numpy dizisi veya pytorch tensörü ise 3 kanal yerine tek renk kanalı (L) içermelidir; bu nedenle pytorch tensörü için beklenen şekil `(B, 1, H, W)`, `(B, H, W)`, `(1, H, W)` veya `(H, W)` olur. Numpy dizisi için ise `(B, H, W, 1)`, `(B, H, W)`, `(H, W, 1)` veya `(H, W)` şeklindedir. | |
| 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. | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt` kullanılır. | |
| 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` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `true_cfg_scale`, `1`'den büyük olmadığında) yok sayılır. | |
| negative_prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için `tokenizer_2` ve `text_encoder_2`'ye gönderilmeyecek istem veya istemler. Tanımlanmamışsa, `negative_prompt` tüm metin kodlayıcılarda kullanılır. | |
| true_cfg_scale (`float`, *isteğe bağlı*, varsayılan 1.0) : `true_cfg_scale` > 1 olduğunda ve `negative_prompt` sağlandığında True sınıflandırıcı-ücretsiz yönlendirme (yönlendirme ölçeği) etkinleştirilir. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| strength (`float`, *opsiyonel*, varsayılan 1.0) : Referans `image`'in ne ölçüde dönüştürüleceğini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılır ve `strength` değeri arttıkça daha fazla gürültü eklenir. 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ü maksimumdur ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, `image`'ı fiilen yok sayar. | |
| padding_mask_crop (`int`, *isteğe bağlı*, varsayılan `None`) : Görüntü ve maskelemeye uygulanacak kırpmanın kenar boşluğu boyutu. `None` ise, görüntü ve mask_image'a kırpma uygulanmaz. `padding_mask_crop` `None` değilse, önce görüntü ile aynı en-boy oranına sahip ve tüm maskelenmiş alanı içeren dikdörtgen bir bölge bulunur, ardından bu alan `padding_mask_crop` değerine göre genişletilir. Ardından görüntü ve mask_image, inpainting için orijinal görüntü boyutuna yeniden boyutlandırılmadan önce genişletilen alana göre kırpılır. Bu, maskelenmiş alanın küçükken görüntünün büyük olması ve inpainting için alakasız bilgiler (örneğin arka plan) içermesi durumunda faydalıdır. | |
| 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır. | |
| guidance_scale (`float`, *opsiyonel*, varsayılan 3.5) : Gömülü yönlendirme ölçeği, `guidance_scale` > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek `guidance_scale`, modelin `prompt` ile daha uyumlu görseller üretmesini teşvik eder; bunun bedeli ise daha düşük görsel kalitedir. Yönlendirme damıtılmış modeller, `guidance_scale` > 1 için gerçek sınıflandırıcı-ücretsiz yönlendirmeyi (classifier-free guidance) yaklaşık olarak sağlar. Daha fazla bilgi için [makaleye](https://huggingface.co/papers/2210.03142) bakın. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| 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. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens tensörü oluşturulur. | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_ip_adapter_image : (`PipelineImageInput`, *isteğe bağlı*): IP Adapters ile çalışmak için isteğe bağlı görüntü girişi. | |
| negative_ip_adapter_image_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : IP-Adapter için önceden oluşturulmuş gömme vektörleri. IP-adapter sayısı ile aynı uzunlukta bir liste olmalıdır. Her öğe, `(batch_size, num_images, emb_dim)` biçiminde bir tensör olmalıdır. Sağlanmazsa, gömme vektörleri `ip_adapter_image` girdi argümanından hesaplanır. | |
| negative_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden 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. | |
| negative_pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulacaktır. | |
| 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.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_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üğü. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs`, `callback_on_step_end_tensor_inputs` tarafından belirtilen tüm tensörlerin listesini içerir. | |
| callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, `callback_kwargs` argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| max_area (`int`, varsayılan `1024 ** 2`) : Üretilen görüntünün piksel cinsinden maksimum alanı. Yükseklik ve genişlik, en-boy oranını koruyarak bu alana sığacak şekilde ayarlanır. | |
| _auto_resize (`bool`, *isteğe bağlı*, varsayılan `True`) : Girdi görüntüsünün tercih edilen çözünürlüklere otomatik olarak yeniden boyutlandırılıp boyutlandırılmayacağını belirtir. | |
| **Dönüş:** `~pipelines.flux.FluxPipelineOutput` veya `tuple` | |
| `return_dict` True ise `~pipelines.flux.FluxPipelineOutput`, aksi halde bir `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| # Sadece metinle Inpainting | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxKontextInpaintPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> prompt = "Change the yellow dinosaur to green one" | |
| >>> img_url = ( | |
| ... "https://github.com/ZenAI-Vietnam/Flux-Kontext-pipelines/blob/main/assets/dinosaur_input.jpeg?raw=true" | |
| ... ) | |
| >>> mask_url = ( | |
| ... "https://github.com/ZenAI-Vietnam/Flux-Kontext-pipelines/blob/main/assets/dinosaur_mask.png?raw=true" | |
| ... ) | |
| >>> source = load_image(img_url) | |
| >>> mask = load_image(mask_url) | |
| >>> pipe = FluxKontextInpaintPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.1-Kontext-dev", torch_dtype=torch.bfloat16 | |
| ... ) | |
| >>> pipe.to("cuda") | |
| >>> image = pipe(prompt=prompt, image=source, mask_image=mask, strength=1.0).images[0] | |
| >>> image.save("kontext_inpainting_normal.png") | |
| ``` | |
| # Görüntü koşullandırması ile inpainting | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import FluxKontextInpaintPipeline | |
| >>> from diffusers.utils import load_image | |
| >>> pipe = FluxKontextInpaintPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.1-Kontext-dev", torch_dtype=torch.bfloat16 | |
| ... ) | |
| >>> pipe.to("cuda") | |
| >>> prompt = "Replace this ball" | |
| >>> img_url = "https://images.pexels.com/photos/39362/the-ball-stadion-football-the-pitch-39362.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" | |
| >>> mask_url = ( | |
| ... "https://github.com/ZenAI-Vietnam/Flux-Kontext-pipelines/blob/main/assets/ball_mask.png?raw=true" | |
| ... ) | |
| >>> image_reference_url = ( | |
| ... "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTah3x6OL_ECMBaZ5ZlJJhNsyC-OSMLWAI-xw&s" | |
| ... ) | |
| >>> source = load_image(img_url) | |
| >>> mask = load_image(mask_url) | |
| >>> image_reference = load_image(image_reference_url) | |
| >>> mask = pipe.mask_processor.blur(mask, blur_factor=12) | |
| >>> image = pipe( | |
| ... prompt=prompt, image=source, mask_image=mask, image_reference=image_reference, strength=1.0 | |
| ... ).images[0] | |
| >>> image.save("kontext_inpainting_ref.png") | |
| ``` | |
| #### encode_prompt[[diffusers.FluxKontextInpaintPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], prompt_2: str | list[str] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 512, lora_scale: float | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux/pipeline_flux_kontext_inpaint.py#L393) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| prompt_2 (`str` veya `list[str]`, *isteğe bağlı*) : `tokenizer_2` ve `text_encoder_2`'ye gönderilecek istem veya istemler. Tanımlanmamışsa, tüm metin kodlayıcılarda `prompt` kullanılır | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| prompt_embeds (`torch.FloatTensor`, *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. | |
| pooled_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş havuzlanmış metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, havuzlanmış metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir lora ölçeği. | |
Xet Storage Details
- Size:
- 179 kB
- Xet hash:
- 671846b9c374c40e9048597494bc86e0220fc340e594de9c67080a347aad31b5
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.