Buckets:
| # Stable Cascade | |
| Bu model, [Würstchen](https://openreview.net/forum?id=gU58d5QeGv) mimarisi üzerine inşa edilmiştir ve Stable Diffusion gibi diğer modellerden temel farkı, çok daha küçük bir gizli uzayda çalışmasıdır. Bunun önemi nedir? Gizli uzay ne kadar küçükse, çıkarım (inference) o kadar **hızlı** çalışır ve eğitim o kadar **ucuz** hale gelir. Gizli uzay ne kadar küçük? Stable Diffusion, 8 sıkıştırma faktörü kullanır ve bu, 1024x1024 boyutundaki bir görüntünün 128x128'e kodlanmasına yol açar. Stable Cascade, 42 sıkıştırma faktörü sağlar; bu da keskin yeniden oluşturmalara (reconstructions) sadık kalınarak 1024x1024 boyutundaki bir görüntünün 24x24'e kodlanmasının mümkün olduğu anlamına gelir. Metin-konumlu model, ardından bu yüksek sıkıştırılmış gizli uzayda eğitilir. Bu mimarinin önceki sürümleri, Stable Diffusion 1.5'e kıyasla 16x maliyet azalması sağlamıştır. | |
| Dolayısıyla, bu tür modeller, verimliliğin önemli olduğu kullanım senaryoları için uygundur. Ayrıca, finetuning, LoRA, ControlNet, IP-Adapter, LCM gibi bilinen tüm uzantılar bu yöntemle de mümkündür. | |
| Orijinal kod tabanı [Stability-AI/StableCascade](https://github.com/Stability-AI/StableCascade) adresinde bulunabilir. | |
| ## Model Genel Bakış | |
| Stable Cascade, üç modelden oluşur: Stage A, Stage B ve Stage C. Bu modeller, görüntü üretmek için bir kademeli yapıyı temsil eder; bu nedenle adı "Stable Cascade" şeklindedir. | |
| Stage A & B, Stable Diffusion'da VAE'nin üstlendiği işlev gibi, görüntüleri sıkıştırmak için kullanılır. Ancak bu yapılandırma ile görüntülerde çok daha yüksek bir sıkıştırma oranı elde edilebilir. Stable Diffusion modelleri 8'lik bir uzamsal sıkıştırma faktörü kullanarak 1024 x 1024 çözünürlüğündeki bir görüntüyü 128 x 128'e kodlarken, Stable Cascade 42'lik bir sıkıştırma faktörü sağlar. Bu, görüntüyü doğru bir şekilde çözebilme yeteneğini koruyarak 1024 x 1024'lük bir görüntüyü 24 x 24'e kodlar. Bunun büyük bir avantajı, daha ucuz eğitim ve çıkarım (inference) süreçleridir. Ayrıca, Stage C, bir metin istemine (text prompt) göre küçük 24 x 24 latentleri üretmekten sorumludur. | |
| Stage C modeli, küçük 24 x 24 latentler üzerinde çalışır ve metin istemlerine koşullu olarak latentleri gürültüden arındırır. Model, Cascade hattındaki en büyük bileşendir ve `StableCascadePriorPipeline` ile birlikte kullanılmak üzere tasarlanmıştır. | |
| Stage B ve Stage A modelleri `StableCascadeDecoderPipeline` ile kullanılır ve küçük 24 x 24 latentlerden yola çıkarak nihai görüntüyü üretmekten sorumludur. | |
| > [!WARNING] | |
| > Stable Cascade modelleriyle kullanılabilecek veri türleri üzerinde bazı kısıtlamalar vardır. `StableCascadePriorPipeline` için resmi checkpoint'ler `torch.float16` veri türünü desteklemez. Bunun yerine lütfen `torch.bfloat16` kullanın. | |
| > | |
| > `torch.bfloat16` veri türünü `StableCascadeDecoderPipeline` ile kullanmak için PyTorch 2.2.0 veya daha yüksek bir sürümün yüklü olması gerekir. Bu, `StableCascadeCombinedPipeline`'in `torch.bfloat16` ile kullanılmasının da PyTorch 2.2.0 veya daha yüksek bir sürüm gerektirdiği anlamına gelir, çünkü bu pipeline içsel olarak `StableCascadeDecoderPipeline`'i çağırır. | |
| > | |
| > Ortamınızda PyTorch 2.2.0 veya daha yüksek bir sürümün yüklenmesi mümkün değilse, `StableCascadeDecoderPipeline`, `torch.float16` veri tipiyle tek başına kullanılabilir. Pipeline için tam hassasiyetli veya `bf16` varyant ağırlıklarını indirip ağırlıkları `torch.float16` tipine dönüştürebilirsiniz. | |
| ## Kullanım örneği | |
| ```python | |
| import torch | |
| from diffusers import StableCascadeDecoderPipeline, StableCascadePriorPipeline | |
| prompt = "an image of a shiba inu, donning a spacesuit and helmet" | |
| negative_prompt = "" | |
| prior = StableCascadePriorPipeline.from_pretrained("stabilityai/stable-cascade-prior", variant="bf16", dtype=torch.bfloat16) | |
| decoder = StableCascadeDecoderPipeline.from_pretrained("stabilityai/stable-cascade", variant="bf16", dtype=torch.float16) | |
| prior.enable_model_cpu_offload() | |
| prior_output = prior( | |
| prompt=prompt, | |
| height=1024, | |
| width=1024, | |
| negative_prompt=negative_prompt, | |
| guidance_scale=4.0, | |
| num_images_per_prompt=1, | |
| num_inference_steps=20 | |
| ) | |
| decoder.enable_model_cpu_offload() | |
| decoder_output = decoder( | |
| image_embeddings=prior_output.image_embeddings.to(torch.float16), | |
| prompt=prompt, | |
| negative_prompt=negative_prompt, | |
| guidance_scale=0.0, | |
| output_type="pil", | |
| num_inference_steps=10 | |
| ).images[0] | |
| decoder_output.save("cascade.png") | |
| ``` | |
| ## B ve C aşaması modellerinin Lite sürümlerini kullanma | |
| ```python | |
| import torch | |
| from diffusers import ( | |
| StableCascadeDecoderPipeline, | |
| StableCascadePriorPipeline, | |
| StableCascadeUNet, | |
| ) | |
| prompt = "an image of a shiba inu, donning a spacesuit and helmet" | |
| negative_prompt = "" | |
| prior_unet = StableCascadeUNet.from_pretrained("stabilityai/stable-cascade-prior", subfolder="prior_lite") | |
| decoder_unet = StableCascadeUNet.from_pretrained("stabilityai/stable-cascade", subfolder="decoder_lite") | |
| prior = StableCascadePriorPipeline.from_pretrained("stabilityai/stable-cascade-prior", prior=prior_unet) | |
| decoder = StableCascadeDecoderPipeline.from_pretrained("stabilityai/stable-cascade", decoder=decoder_unet) | |
| prior.enable_model_cpu_offload() | |
| prior_output = prior( | |
| prompt=prompt, | |
| height=1024, | |
| width=1024, | |
| negative_prompt=negative_prompt, | |
| guidance_scale=4.0, | |
| num_images_per_prompt=1, | |
| num_inference_steps=20 | |
| ) | |
| decoder.enable_model_cpu_offload() | |
| decoder_output = decoder( | |
| image_embeddings=prior_output.image_embeddings, | |
| prompt=prompt, | |
| negative_prompt=negative_prompt, | |
| guidance_scale=0.0, | |
| output_type="pil", | |
| num_inference_steps=10 | |
| ).images[0] | |
| decoder_output.save("cascade.png") | |
| ``` | |
| ## `from_single_file` ile orijinal denetim noktalarını yükleme | |
| StableCascadeUNet içindeki `from_single_file` yöntemi aracılığıyla orijinal format kontrol noktalarının yüklenmesi desteklenmektedir. | |
| ```python | |
| import torch | |
| from diffusers import ( | |
| StableCascadeDecoderPipeline, | |
| StableCascadePriorPipeline, | |
| StableCascadeUNet, | |
| ) | |
| prompt = "an image of a shiba inu, donning a spacesuit and helmet" | |
| negative_prompt = "" | |
| prior_unet = StableCascadeUNet.from_single_file( | |
| "https://huggingface.co/stabilityai/stable-cascade/resolve/main/stage_c_bf16.safetensors", | |
| dtype=torch.bfloat16 | |
| ) | |
| decoder_unet = StableCascadeUNet.from_single_file( | |
| "https://huggingface.co/stabilityai/stable-cascade/blob/main/stage_b_bf16.safetensors", | |
| dtype=torch.bfloat16 | |
| ) | |
| prior = StableCascadePriorPipeline.from_pretrained("stabilityai/stable-cascade-prior", prior=prior_unet, dtype=torch.bfloat16) | |
| decoder = StableCascadeDecoderPipeline.from_pretrained("stabilityai/stable-cascade", decoder=decoder_unet, dtype=torch.bfloat16) | |
| prior.enable_model_cpu_offload() | |
| prior_output = prior( | |
| prompt=prompt, | |
| height=1024, | |
| width=1024, | |
| negative_prompt=negative_prompt, | |
| guidance_scale=4.0, | |
| num_images_per_prompt=1, | |
| num_inference_steps=20 | |
| ) | |
| decoder.enable_model_cpu_offload() | |
| decoder_output = decoder( | |
| image_embeddings=prior_output.image_embeddings, | |
| prompt=prompt, | |
| negative_prompt=negative_prompt, | |
| guidance_scale=0.0, | |
| output_type="pil", | |
| num_inference_steps=10 | |
| ).images[0] | |
| decoder_output.save("cascade-single-file.png") | |
| ``` | |
| ## Kullanım Alanları | |
| ### Doğrudan Kullanım | |
| Model şu an için araştırma amaçlı olarak tasarlanmıştır. Olası araştırma alanları ve görevler şunları içerir | |
| - Üretken modeller üzerine araştırmalar. | |
| - Zararlı içerik üretme potansiyeline sahip modellerin güvenli dağıtımı. | |
| - Üretken modellerin sınırlılıklarını ve önyargılarını araştırmak ve anlamak. | |
| - Sanat eserlerinin üretimi ve tasarım ile diğer sanatsal süreçlerde kullanımı. | |
| - Eğitim veya yaratıcı araçlarda uygulamalar. | |
| Dışlanan kullanımlar aşağıda açıklanmıştır. | |
| ### Kapsam Dışı Kullanım | |
| Model, insanların veya olayların gerçekçi veya doğru temsillerini üretmek üzere eğitilmemiştir; bu nedenle modelin bu tür içerik üretmek için kullanılması, bu modelin yeteneklerinin kapsamı dışındadır. Model, Stability AI'nin [Kabul Edilebilir Kullanım Politikası](https://stability.ai/use-policy)'nı ihlal edecek herhangi bir şekilde kullanılmamalıdır. | |
| ## Kısıtlamalar ve Yanlılık | |
| ### Kısıtlamalar | |
| - Yüzler ve genel olarak insanlar doğru şekilde oluşturulamayabilir. | |
| - Modelin otomatik kodlama (autoencoding) kısmı kayıplıdır. | |
| ## StableCascadeCombinedPipeline[[diffusers.StableCascadeCombinedPipeline]] | |
| #### diffusers.StableCascadeCombinedPipeline[[diffusers.StableCascadeCombinedPipeline]] | |
| ```python | |
| diffusers.StableCascadeCombinedPipeline(tokenizer: CLIPTokenizer, text_encoder: CLIPTextModelWithProjection, decoder: StableCascadeUNet, scheduler: DDPMWuerstchenScheduler, vqgan: PaellaVQModel, prior_prior: StableCascadeUNet, prior_text_encoder: CLIPTextModelWithProjection, prior_tokenizer: CLIPTokenizer, prior_scheduler: DDPMWuerstchenScheduler, prior_feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None = None, prior_image_encoder: transformers.models.clip.modeling_clip.CLIPVisionModelWithProjection | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py#L46) | |
| **Parametreler:** | |
| tokenizer (`CLIPTokenizer`) : Metin girdileri için kullanılacak çözücü belirteçleyici. | |
| text_encoder (`CLIPTextModelWithProjection`) : Metin girdileri için kullanılacak decoder metin kodlayıcı. | |
| decoder (`StableCascadeUNet`) : Dekoder görüntü üretim hattında kullanılacak dekoder modeli. | |
| scheduler (`DDPMWuerstchenScheduler`) : Dekoder görüntü oluşturma hattında kullanılacak zamanlayıcı. | |
| vqgan (`PaellaVQModel`) : Decoder görüntü üretim hattında kullanılacak VQGAN modeli. | |
| prior_prior (`StableCascadeUNet`) : Önceden tanımlı (prior) hattında kullanılacak önceden tanımlı (prior) model. | |
| prior_text_encoder (`CLIPTextModelWithProjection`) : Metin girdileri için kullanılacak önceki metin kodlayıcı. | |
| prior_tokenizer (`CLIPTokenizer`) : Metin girdileri için kullanılacak önceki tokenizer. | |
| prior_scheduler (`DDPMWuerstchenScheduler`) : Önceden tanımlı pipeline için kullanılacak zamanlayıcı. | |
| prior_feature_extractor ([CLIPImageProcessor](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPImageProcessor)) : `image_encoder` girdileri olarak kullanılacak özellikleri üretilen görüntülerden çıkaran model. | |
| prior_image_encoder (`CLIPVisionModelWithProjection`) : Donmuş CLIP görüntü kodlayıcısı ([clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14)). | |
| Stable Cascade kullanarak metinden görüntüye üretim için Birleşik Pipeline. | |
| Bu model [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfından devralır. Kütüphanenin tüm pipeline'lar için uyguladığı genel yöntemler (indirme veya kaydetme, belirli bir cihazda çalıştırma vb.) için üst sınıf belgelendirmesine bakın. | |
| #### __call__[[diffusers.StableCascadeCombinedPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] | None = None, images: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]] = None, height: int = 512, width: int = 512, prior_num_inference_steps: int = 60, prior_guidance_scale: float = 4.0, num_inference_steps: int = 12, decoder_guidance_scale: float = 0.0, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_pooled: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_pooled: typing.Optional[torch.Tensor] = None, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, prior_callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, prior_callback_on_step_end_tensor_inputs: list = ['latents'], callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents']) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py#L159) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`) : Öncülün (prior) ve çözücünün (decoder) görüntü üretimini yönlendirmek için kullanılan istem veya istemler. | |
| images (`torch.Tensor`, `PIL.Image.Image`, `list[torch.Tensor]`, `list[PIL.Image.Image]`, *opsiyonel*) : Öncül için görüntü üretimini yönlendirecek görüntüler. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Yönlendirme kullanılmadığında yok sayılır (yani `guidance_scale` `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceki için önceden 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. | |
| prompt_embeds_pooled (`torch.Tensor`, *isteğe bağlı*) : Önceki için önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceki (prior) için ö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_prompt_embeds_pooled (`torch.Tensor`, *isteğe bağlı*) : Önceki (prior) için ö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. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek görsel sayısı. | |
| height (`int`, *isteğe bağlı*, varsayılan 512) : Üretilen görüntünün piksel cinsinden yüksekliği. | |
| width (`int`, *isteğe bağlı*, varsayılan 512) : Üretilen görüntünün piksel cinsinden genişliği. | |
| prior_guidance_scale (`float`, *opsiyonel*, varsayılan 4.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `prior_guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'deki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `prior_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. | |
| prior_num_inference_steps (`int | dict[float, int]`, *isteğe bağlı*, varsayılan 60) : Önceki 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. Daha spesifik zaman adımı aralığı için özelleştirilmiş `prior_timesteps` geçebilirsiniz | |
| num_inference_steps (`int`, *opsiyonel*, varsayılan 12) : Dekoder 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. Daha spesifik zaman adımı aralığı için özel `timesteps` geçebilirsiniz | |
| decoder_guidance_scale (`float`, *isteğe bağlı*, varsayılan 0.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı üzere yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'daki 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. | |
| 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.Tensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklem yoluyla bir latent tensörü oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. Şunlardan birini seçin: `"pil"` (`PIL.Image.Image`), `"np"` (`np.array`) veya `"pt"` (`torch.Tensor`). | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) döndürülüp döndürülmemesi. | |
| prior_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: `prior_callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. | |
| prior_callback_on_step_end_tensor_inputs (`list`, *isteğe bağlı*) : `prior_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. | |
| 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. | |
| **Dönüş:** | |
| [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) or `tuple` [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) if `return_dict` is True, otherwise a `tuple`. When returning a tuple, the first element is a list with the generated images. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import StableCascadeCombinedPipeline | |
| >>> pipe = StableCascadeCombinedPipeline.from_pretrained( | |
| ... "stabilityai/stable-cascade", variant="bf16", torch_dtype=torch.bfloat16 | |
| ... ) | |
| >>> pipe.enable_model_cpu_offload() | |
| >>> prompt = "an image of a shiba inu, donning a spacesuit and helmet" | |
| >>> images = pipe(prompt=prompt) | |
| ``` | |
| #### enable_model_cpu_offload[[diffusers.StableCascadeCombinedPipeline.enable_model_cpu_offload]] | |
| ```python | |
| enable_model_cpu_offload(gpu_id: int | None = None, device: typing.Union[torch.device, str] = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py#L131) | |
| Tüm modelleri accelerate kullanarak CPU'ya taşır ve performansa düşük etkiyle bellek kullanımını azaltır. `enable_sequential_cpu_offload` ile karşılaştırıldığında, bu yöntem bir modelin `forward` metodu çağrıldığında o modeli bir bütün olarak GPU'ya taşır ve model, bir sonraki model çalışana kadar GPU'da kalır. Bellek tasarrufu `enable_sequential_cpu_offload` ile sağlanandan daha düşüktür, ancak `unet`'in iteratif çalıştırılması sayesinde performans çok daha iyidir. | |
| #### enable_sequential_cpu_offload[[diffusers.StableCascadeCombinedPipeline.enable_sequential_cpu_offload]] | |
| ```python | |
| enable_sequential_cpu_offload(gpu_id: int | None = None, device: typing.Union[torch.device, str] = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py#L141) | |
| 🤗 Accelerate kullanarak tüm modellerin (`unet`, `text_encoder`, `vae` ve `safety checker` state dict'leri) CPU'ya aktarılır ve bellek kullanımı önemli ölçüde azaltılır. Modeller `torch.device('meta')` konumuna taşınır ve yalnızca ilgili alt modülün `forward` metodu çağrıldığında GPU'ya yüklenir. Aktarma işlemi alt modül bazında gerçekleşir. `enable_model_cpu_offload` kullanılarak elde edilen tasarrufa kıyasla bellek tasarrufu daha yüksektir, ancak performans daha düşüktür. | |
| ## StableCascadePriorPipeline[[diffusers.StableCascadePriorPipeline]] | |
| #### diffusers.StableCascadePriorPipeline[[diffusers.StableCascadePriorPipeline]] | |
| ```python | |
| diffusers.StableCascadePriorPipeline(tokenizer: CLIPTokenizer, text_encoder: CLIPTextModelWithProjection, prior: StableCascadeUNet, scheduler: DDPMWuerstchenScheduler, resolution_multiple: float = 42.67, feature_extractor: transformers.models.clip.image_processing_pil_clip.CLIPImageProcessorPil | None = None, image_encoder: transformers.models.clip.modeling_clip.CLIPVisionModelWithProjection | None = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py#L80) | |
| **Parametreler:** | |
| prior (`StableCascadeUNet`) : Metin ve/veya gömülü görselden görsel gömülüsünü yaklaşık olarak tahmin etmek için Stable Cascade öncülü. | |
| text_encoder (`CLIPTextModelWithProjection`) : Donmuş metin kodlayıcı ([laion/CLIP-ViT-bigG-14-laion2B-39B-b160k](https://huggingface.co/laion/CLIP-ViT-bigG-14-laion2B-39B-b160k)). | |
| feature_extractor ([CLIPImageProcessor](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPImageProcessor)) : `image_encoder` girdileri olarak kullanılacak özellikleri üretilen görüntülerden çıkaran model. | |
| image_encoder (`CLIPVisionModelWithProjection`) : Donmuş CLIP görüntü kodlayıcısı ([clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14)). | |
| tokenizer (`CLIPTokenizer`) : [CLIPTokenizer](https://huggingface.co/docs/transformers/v4.21.0/en/model_doc/clip#transformers.CLIPTokenizer) sınıfının tokenizer'ı. | |
| scheduler (`DDPMWuerstchenScheduler`) : `prior` ile birlikte kullanılarak gömme (embedding) üretmek için kullanılacak bir zamanlayıcı (scheduler). | |
| resolution_multiple ('float', *isteğe bağlı*, varsayılan 42.67) : Üretilen birden fazla görüntü için varsayılan çözünürlük. | |
| Stable Cascade için görüntü önceli üretme hattı. | |
| Bu model [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfından devralır. Kütüphanenin tüm pipeline'lar için uyguladığı genel yöntemler (indirme veya kaydetme, belirli bir cihazda çalıştırma vb.) için üst sınıf belgelendirmesine bakın. | |
| #### __call__[[diffusers.StableCascadePriorPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] | None = None, images: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]] = None, height: int = 1024, width: int = 1024, num_inference_steps: int = 20, timesteps: list = None, guidance_scale: float = 4.0, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_pooled: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_pooled: typing.Optional[torch.Tensor] = None, image_embeds: typing.Optional[torch.Tensor] = None, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pt', return_dict: bool = True, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents']) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py#L375) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`) : Görsel üretimi yönlendirmek için istem veya istemler. | |
| images (`torch.Tensor`, `PIL.Image.Image`, `list[torch.Tensor]` veya `list[PIL.Image.Image]`, *opsiyonel*) : Öncül üretimi koşullandırmak için kullanılan referans görsel(ler). Sağlandığında, görsel gömme değerleri görselden türetilir ve metin komutuyla birleştirilir. | |
| height (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden yüksekliği. | |
| width (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden genişliği. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 60) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. | |
| timesteps (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `timesteps` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır. Azalan sırada olmalıdır. | |
| guidance_scale (`float`, *opsiyonel*, varsayılan 8.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `decoder_guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'daki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `decoder_guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Yönlendirme kullanılmadığında yok sayılır (yani `decoder_guidance_scale` `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| prompt_embeds_pooled (`torch.Tensor`, *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.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds_pooled (`torch.Tensor`, *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, negative_prompt_embeds_pooled, `negative_prompt` girdi argümanından oluşturulur. | |
| image_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş görsel gömme (embedding) değerleri. Görsel girdileri kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, `image` girdi argümanı mevcut ise görsel gömme değerleri bu argümandan oluşturulur. | |
| 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.Tensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklem yoluyla bir latent tensörü oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. Şunlardan birini seçin: `"pil"` (`PIL.Image.Image`), `"np"` (`np.array`) veya `"pt"` (`torch.Tensor`). | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) döndürülüp döndürülmemesi. | |
| 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. | |
| **Dönüş:** | |
| `StableCascadePriorPipelineOutput` or `tuple` `StableCascadePriorPipelineOutput` if `return_dict` is True, otherwise a `tuple`. When returning a tuple, the first element is a list with the generated image embeddings. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import StableCascadePriorPipeline | |
| >>> prior_pipe = StableCascadePriorPipeline.from_pretrained( | |
| ... "stabilityai/stable-cascade-prior", torch_dtype=torch.bfloat16 | |
| ... ).to("cuda") | |
| >>> prompt = "an image of a shiba inu, donning a spacesuit and helmet" | |
| >>> prior_output = pipe(prompt) | |
| ``` | |
| ## StableCascadePriorPipelineOutput[[diffusers.pipelines.stable_cascade.pipeline_stable_cascade_prior.StableCascadePriorPipelineOutput]] | |
| #### diffusers.pipelines.stable_cascade.pipeline_stable_cascade_prior.StableCascadePriorPipelineOutput[[diffusers.pipelines.stable_cascade.pipeline_stable_cascade_prior.StableCascadePriorPipelineOutput]] | |
| ```python | |
| diffusers.pipelines.stable_cascade.pipeline_stable_cascade_prior.StableCascadePriorPipelineOutput(image_embeddings: typing.Union[torch.Tensor, numpy.ndarray], prompt_embeds: typing.Union[torch.Tensor, numpy.ndarray], prompt_embeds_pooled: typing.Union[torch.Tensor, numpy.ndarray], negative_prompt_embeds: typing.Union[torch.Tensor, numpy.ndarray], negative_prompt_embeds_pooled: typing.Union[torch.Tensor, numpy.ndarray]) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py#L60) | |
| **Parametreler:** | |
| image_embeddings (`torch.Tensor` veya `np.ndarray`) : Metin istemi için önceki gömme değerleri | |
| prompt_embeds (`torch.Tensor`) : İstem için metin gömme değerleri. | |
| negative_prompt_embeds (`torch.Tensor`) : Negatif istem için metin gömme değerleri. | |
| WuerstchenPriorPipeline için çıktı sınıfı. | |
| ## StableCascadeDecoderPipeline[[diffusers.StableCascadeDecoderPipeline]] | |
| #### diffusers.StableCascadeDecoderPipeline[[diffusers.StableCascadeDecoderPipeline]] | |
| ```python | |
| diffusers.StableCascadeDecoderPipeline(decoder: StableCascadeUNet, tokenizer: CLIPTokenizer, text_encoder: CLIPTextModelWithProjection, scheduler: DDPMWuerstchenScheduler, vqgan: PaellaVQModel, latent_dim_scale: float = 10.67) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py#L60) | |
| **Parametreler:** | |
| tokenizer (`CLIPTokenizer`) : CLIP belirteç ayrıştırıcısı. | |
| text_encoder (`CLIPTextModelWithProjection`) : CLIP metin kodlayıcısı. | |
| decoder (`StableCascadeUNet`) : Stable Cascade çözücü unet'i. | |
| vqgan (`PaellaVQModel`) : VQGAN modeli. | |
| scheduler (`DDPMWuerstchenScheduler`) : `prior` ile birlikte kullanılarak gömme (embedding) üretmek için kullanılacak bir zamanlayıcı (scheduler). | |
| latent_dim_scale (float, `optional`, varsayılan 10.67) : Görsel gömlemelerden VQ gizli uzay boyutunu belirlemek için kullanılan çarpan. Görsel gömlemeler height=24 ve width=24 ise, eğitim koşullarıyla eşleşmesi için VQ gizli şekli height=int(24*10.67)=256 ve width=int(24*10.67)=256 olmalıdır. | |
| Stable Cascade modelinden görüntü üretmek için kullanılan Pipeline. | |
| Bu model [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfından devralır. Kütüphanenin tüm pipeline'lar için uyguladığı genel yöntemler (indirme veya kaydetme, belirli bir cihazda çalıştırma vb.) için üst sınıf belgelendirmesine bakın. | |
| #### __call__[[diffusers.StableCascadeDecoderPipeline.__call__]] | |
| ```python | |
| __call__(image_embeddings: typing.Union[torch.Tensor, list[torch.Tensor]], prompt: str | list[str] = None, num_inference_steps: int = 10, guidance_scale: float = 0.0, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_pooled: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_pooled: typing.Optional[torch.Tensor] = None, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents']) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py#L306) | |
| **Parametreler:** | |
| image_embeddings (`torch.Tensor` veya `list[torch.Tensor]`) : Bir görüntüden çıkarılan veya bir Prior Model tarafından üretilen Görüntü Gömme (Image Embeddings). | |
| prompt (`str` veya `list[str]`) : Görsel üretimi yönlendirmek için istem veya istemler. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 12) : 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. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 0.0) : [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `decoder_guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'daki 2. denklemindeki `w` olarak tanımlanır. Yönlendirme ölçeği, `decoder_guidance_scale > 1` olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, `prompt` ile yakından ilişkili görüntülerin üretilmesini teşvik eder. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Yönlendirme kullanılmadığında yok sayılır (yani `decoder_guidance_scale` `1`'den küçükse yok sayılır). | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| prompt_embeds_pooled (`torch.Tensor`, *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.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds_pooled (`torch.Tensor`, *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, negative_prompt_embeds_pooled, `negative_prompt` girdi argümanından oluşturulur. | |
| 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.Tensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklem yoluyla bir latent tensörü oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. Şunlardan birini seçin: `"pil"` (`PIL.Image.Image`), `"np"` (`np.array`) veya `"pt"` (`torch.Tensor`). | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) döndürülüp döndürülmemesi. | |
| 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. | |
| **Dönüş:** | |
| [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) or `tuple` [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) if `return_dict` is True, otherwise a `tuple`. When returning a tuple, the first element is a list with the generated image embeddings. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import StableCascadePriorPipeline, StableCascadeDecoderPipeline | |
| >>> prior_pipe = StableCascadePriorPipeline.from_pretrained( | |
| ... "stabilityai/stable-cascade-prior", torch_dtype=torch.bfloat16 | |
| ... ).to("cuda") | |
| >>> gen_pipe = StableCascadeDecoderPipeline.from_pretrain( | |
| ... "stabilityai/stable-cascade", torch_dtype=torch.float16 | |
| ... ).to("cuda") | |
| >>> prompt = "an image of a shiba inu, donning a spacesuit and helmet" | |
| >>> prior_output = pipe(prompt) | |
| >>> images = gen_pipe(prior_output.image_embeddings, prompt=prompt) | |
| ``` | |
Xet Storage Details
- Size:
- 40.8 kB
- Xet hash:
- 15b2427c17ba3058c8d3e8c61b35eaeef122be5f6daa9f9defa0ebd57866692a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.