Buckets:
| # | |
| # Apache Lisansı, 2.0 Sürümü ("Lisans") altında lisanslanmıştır; | |
| # bu dosyayı, Lisansa uygun olarak kullanabilirsiniz. | |
| # Lisansın bir kopyasını şu adresten edinebilirsiniz | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Uygulanabilir yasa gerektirmedikçe veya yazılı olarak anlaşılmadıkça, yazılım | |
| # Lisans kapsamında dağıtılan, "OLDUĞU GİBİ" esasına göre dağıtılır, | |
| # HİÇBİR TÜR AÇIK VEYA ZIMMİ GARANTİ VEYA ŞART İÇERMEZ. | |
| # İzinleri ve | |
| # Lisans kapsamındaki kısıtlamalar. | |
| --> | |
| # EasyAnimate | |
| Alibaba PAI tarafından geliştirilen [EasyAnimate](https://github.com/aigc-apps/EasyAnimate). | |
| GitHub sayfasındaki açıklama: *EasyAnimate, Diffusion Transformer için temel modellerin ve Lora modellerinin eğitimi ile yapay zeka görsel ve video üretimi için tasarlanmış, transformer mimarisine dayalı bir iş akışıdır. Ön-eğitilmiş EasyAnimate modellerinden doğrudan tahmin yapmayı destekliyoruz; bu sayede çeşitli çözünürlüklerde, yaklaşık 6 saniye uzunluğunda ve 8fps hızında (EasyAnimateV5.1, 1 ila 49 kare) videolar üretilebilir. Ayrıca kullanıcılar, belirli stil dönüşümleri için kendi temel ve Lora modellerini eğitebilir.* | |
| Bu pipeline [bubbliiiing](https://github.com/bubbliiiing) tarafından katkı sağlanmıştır. Orijinal kod tabanı [burada](https://huggingface.co/alibaba-pai) bulunabilir. Orijinal ağırlıklar [hf.co/alibaba-pai](https://huggingface.co/alibaba-pai) altında bulunabilir. | |
| Metinden videoya ve videodan videoya dönüştürme için EasyAnimate'ın iki resmi kontrol noktası (checkpoint) bulunmaktadır. | |
| | kontrol noktaları | önerilen çıkarım veri türü | | |
| |:---:|:---:| | |
| | [`alibaba-pai/EasyAnimateV5.1-12b-zh`](https://huggingface.co/alibaba-pai/EasyAnimateV5.1-12b-zh) | torch.float16 | | |
| | [`alibaba-pai/EasyAnimateV5.1-12b-zh-InP`](https://huggingface.co/alibaba-pai/EasyAnimateV5.1-12b-zh-InP) | torch.float16 | | |
| Görselden videoya ve videodan videoya dönüştürme için kullanılabilir tek resmi EasyAnimate kontrol noktası bulunmaktadır. | |
| | kontrol noktaları | önerilen çıkarım veri türü | | |
| |:---:|:---:| | |
| | [`alibaba-pai/EasyAnimateV5.1-12b-zh-InP`](https://huggingface.co/alibaba-pai/EasyAnimateV5.1-12b-zh-InP) | torch.float16 | | |
| Kontrolten videoya dönüştürme için EasyAnimate için iki resmi checkpoint mevcuttur. | |
| | kontrol noktaları | önerilen çıkarım veri türü | | |
| |:---:|:---:| | |
| | [`alibaba-pai/EasyAnimateV5.1-12b-zh-Control`](https://huggingface.co/alibaba-pai/EasyAnimateV5.1-12b-zh-Control) | torch.float16 | | |
| | [`alibaba-pai/EasyAnimateV5.1-12b-zh-Control-Camera`](https://huggingface.co/alibaba-pai/EasyAnimateV5.1-12b-zh-Control-Camera) | torch.float16 | | |
| EasyAnimateV5.1 serisi için: | |
| - Metinden videoya (T2V) ve görüntüden videoya (I2V) birden çok çözünürlükte çalışır. Genişlik ve yükseklik 256 ile 1024 arasında değişebilir. | |
| - Hem T2V hem de I2V modelleri 1~49 kare ile üretim destekler ve bu değerlerde en iyi sonucu verir. Videoların 8 FPS olarak dışa aktarılması önerilir. | |
| ## 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 [EasyAnimatePipeline](/docs/diffusers/main/tr/api/pipelines/easyanimate#diffusers.EasyAnimatePipeline) yüklemenin nasıl yapılacağını göstermektedir. | |
| ```py | |
| import torch | |
| from diffusers import BitsAndBytesConfig as DiffusersBitsAndBytesConfig, EasyAnimateTransformer3DModel, EasyAnimatePipeline | |
| from diffusers.utils import export_to_video | |
| quant_config = DiffusersBitsAndBytesConfig(load_in_8bit=True) | |
| transformer_8bit = EasyAnimateTransformer3DModel.from_pretrained( | |
| "alibaba-pai/EasyAnimateV5.1-12b-zh", | |
| subfolder="transformer", | |
| quantization_config=quant_config, | |
| dtype=torch.float16, | |
| ) | |
| pipeline = EasyAnimatePipeline.from_pretrained( | |
| "alibaba-pai/EasyAnimateV5.1-12b-zh", | |
| transformer=transformer_8bit, | |
| dtype=torch.float16, | |
| device_map="balanced", | |
| ) | |
| prompt = "A cat walks on the grass, realistic style." | |
| negative_prompt = "bad detailed" | |
| video = pipeline(prompt=prompt, negative_prompt=negative_prompt, num_frames=49, num_inference_steps=30).frames[0] | |
| export_to_video(video, "cat.mp4", fps=8) | |
| ``` | |
| ## EasyAnimatePipeline[[diffusers.EasyAnimatePipeline]] | |
| #### diffusers.EasyAnimatePipeline[[diffusers.EasyAnimatePipeline]] | |
| ```python | |
| diffusers.EasyAnimatePipeline(vae: AutoencoderKLMagvit, text_encoder: transformers.models.qwen2_vl.modeling_qwen2_vl.Qwen2VLForConditionalGeneration | transformers.models.bert.modeling_bert.BertModel, tokenizer: transformers.models.qwen2.tokenization_qwen2.Qwen2Tokenizer | transformers.models.bert.tokenization_bert.BertTokenizer, transformer: EasyAnimateTransformer3DModel, scheduler: FlowMatchEulerDiscreteScheduler) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/easyanimate/pipeline_easyanimate.py#L186) | |
| **Parametreler:** | |
| vae ([AutoencoderKLMagvit](/docs/diffusers/main/tr/api/models/autoencoderkl_magvit#diffusers.AutoencoderKLMagvit)) : Videoyu latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`~transformers.Qwen2VLForConditionalGeneration`, `~transformers.BertModel` | None) : EasyAnimate, V5.1 sürümünde [qwen2 vl](https://huggingface.co/Qwen/Qwen2-VL-7B-Instruct) kullanır. | |
| tokenizer (`~transformers.Qwen2Tokenizer`, `~transformers.BertTokenizer` | None) : Metni tokenleştirmek için bir `Qwen2Tokenizer` veya `BertTokenizer`. | |
| transformer ([EasyAnimateTransformer3DModel](/docs/diffusers/main/tr/api/models/easyanimate_transformer3d#diffusers.EasyAnimateTransformer3DModel)) : EasyAnimate Team tarafından tasarlanan EasyAnimate modeli. | |
| 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 EasyAnimate ile birlikte kullanılacak bir zamanlayıcı. | |
| EasyAnimate kullanılarak metinden videoya üretim için 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. | |
| EasyAnimate, V5.1'de [qwen2 vl](https://huggingface.co/Qwen/Qwen2-VL-7B-Instruct) adlı tek bir metin kodlayıcı kullanır. | |
| #### __call__[[diffusers.EasyAnimatePipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, num_frames: int | None = 49, height: int | None = 512, width: int | None = 512, num_inference_steps: int | None = 50, guidance_scale: float | None = 5.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float | None = 0.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, timesteps: list[int] | None = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = None, callback_on_step_end_tensor_inputs: list = ['latents'], guidance_rescale: float = 0.0) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/easyanimate/pipeline_easyanimate.py#L524) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel veya video üretimini yönlendirmek için metin istemleri. Sağlanmazsa bunun yerine `prompt_embeds` kullanılır. | |
| num_frames (`int`, *isteğe bağlı*) : Üretilen videonun uzunluğu (kare cinsinden). | |
| height (`int`, *isteğe bağlı*) : Üretilen görüntünün piksel cinsinden yüksekliği. | |
| width (`int`, *isteğe bağlı*) : Üretilen görüntünün piksel cinsinden genişliği. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 50) : Üretim sırasında gürültü azaltma adım sayısı. Daha fazla adım genellikle daha yüksek kaliteli görseller üretir ancak çıkarımı yavaşlatır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 5.0) : Modelin çıktıları istemlerle hizalamasını teşvik eder. Daha yüksek bir değer, görüntü kalitesini düşürebilir. | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Üretimde nelerin hariç tutulacağını gösteren istemler. Belirtilmezse `negative_prompt_embeds` kullanılır. | |
| num_images_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için oluşturulacak görsel sayısı. | |
| eta (`float`, *opsiyonel*, varsayılan 0.0) : DDIM zamanlamasına uygulanır. İlgili literatürdeki eta parametresi tarafından kontrol edilir. | |
| generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Görsel üretiminde tekrarlanabilirliği sağlamak için bir üreteç. | |
| latents (`torch.Tensor`, *isteğe bağlı*) : Üretimi koşullandırmak için önceden tanımlanmış latent tensörler. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : İfadeler için metin gömme değerleri. Daha fazla esneklik için ifade dizgi girdilerini geçersiz kılar. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Negatif istemler için gömme değerleri. Tanımlıysa, dize girdilerini geçersiz kılar. | |
| prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Birincil istem gömme vektörleri için dikkat maskesi. | |
| negative_prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Negatif prompt gömme verileri için dikkat maskesi. | |
| output_type (`str`, *isteğe bağlı*, varsayılan "latent") : Üretilen çıktının biçimi, PIL görüntüsü veya NumPy dizisi olarak. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : `True` ise, yapılandırılmış bir çıktı döndürür. Aksi takdirde basit bir demet döndürür. | |
| callback_on_step_end (`Callable`, *isteğe bağlı*) : Her gürültü azaltma adımının sonunda çağrılan işlevler. | |
| callback_on_step_end_tensor_inputs (`list[str]`, *isteğe bağlı*) : Geri çağrı fonksiyonu çağrılarında dahil edilecek tensör adları. | |
| guidance_rescale (`float`, *isteğe bağlı*, varsayılan 0.0) : Gürültü seviyelerini yönlendirme ölçeğine göre ayarlar. | |
| timesteps (`list[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, `num_inference_steps` için zamanlayıcının varsayılan zaman çizelgesi kullanılır. | |
| **Dönüş:** [StableDiffusionPipelineOutput](/docs/diffusers/main/tr/api/pipelines/stable_diffusion/img2img#diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput) veya `tuple` | |
| `return_dict` `True` ise [StableDiffusionPipelineOutput](/docs/diffusers/main/tr/api/pipelines/stable_diffusion/img2img#diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput) döndürülür, aksi takdirde bir `tuple` döndürülür; bu yapının ilk öğesi üretilen görsellerin listesini, ikinci öğesi ise ilgili üretilen görselin "not-safe-for-work" (nsfw) içerip içermediğini gösteren `bool` değerlerinin listesini içerir. | |
| Sağlanan istemlere dayanarak EasyAnimate hattını kullanarak görüntü veya video üretir. | |
| Örnekler: | |
| ```python | |
| >>> import torch | |
| >>> from diffusers import EasyAnimatePipeline | |
| >>> from diffusers.utils import export_to_video | |
| >>> # Models: "alibaba-pai/EasyAnimateV5.1-12b-zh" | |
| >>> pipe = EasyAnimatePipeline.from_pretrained( | |
| ... "alibaba-pai/EasyAnimateV5.1-7b-zh-diffusers", torch_dtype=torch.float16 | |
| ... ).to("cuda") | |
| >>> prompt = ( | |
| ... "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. " | |
| ... "The panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other " | |
| ... "pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, " | |
| ... "casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. " | |
| ... "The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical " | |
| ... "atmosphere of this unique musical performance." | |
| ... ) | |
| >>> sample_size = (512, 512) | |
| >>> video = pipe( | |
| ... prompt=prompt, | |
| ... guidance_scale=6, | |
| ... negative_prompt="bad detailed", | |
| ... height=sample_size[0], | |
| ... width=sample_size[1], | |
| ... num_inference_steps=50, | |
| ... ).frames[0] | |
| >>> export_to_video(video, "output.mp4", fps=8) | |
| ``` | |
| #### encode_prompt[[diffusers.EasyAnimatePipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], num_images_per_prompt: int = 1, do_classifier_free_guidance: bool = True, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, device: typing.Optional[torch.device] = None, dtype: typing.Optional[torch.dtype] = None, max_sequence_length: int = 256) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/easyanimate/pipeline_easyanimate.py#L241) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| device : (`torch.device`): torch cihazı | |
| dtype (`torch.dtype`) : torch veri türü | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| do_classifier_free_guidance (`bool`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır. | |
| prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur. | |
| negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : İstek için dikkat maskesi. `prompt_embeds` doğrudan geçirildiğinde zorunludur. | |
| negative_prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Negatif prompt için dikkat maskesi. `negative_prompt_embeds` doğrudan geçirildiğinde gereklidir. | |
| max_sequence_length (`int`, *isteğe bağlı*) : prompt için kullanılacak maksimum dizi uzunluğu. | |
| İsteği metin kodlayıcı gizli durumlarına kodlar. | |
| ## EasyAnimatePipelineOutput[[diffusers.pipelines.easyanimate.pipeline_output.EasyAnimatePipelineOutput]] | |
| #### diffusers.pipelines.easyanimate.pipeline_output.EasyAnimatePipelineOutput[[diffusers.pipelines.easyanimate.pipeline_output.EasyAnimatePipelineOutput]] | |
| ```python | |
| diffusers.pipelines.easyanimate.pipeline_output.EasyAnimatePipelineOutput(frames: Tensor) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/easyanimate/pipeline_output.py#L9) | |
| **Parametreler:** | |
| frames (`torch.Tensor`, `np.ndarray` veya list[list[PIL.Image.Image]]) : video çıktıları listesi - `batch_size,` uzunluğunda iç içe geçmiş bir liste olabilir; her alt liste, `num_frames.` uzunluğunda gürültüsü azaltılmış PIL görüntü dizileri içerir. Ayrıca `(batch_size, num_frames, channels, height, width)` biçiminde bir NumPy dizi veya Torch tensörü de olabilir. | |
| EasyAnimate pipeline'leri için çıktı sınıfı. | |
Xet Storage Details
- Size:
- 16.8 kB
- Xet hash:
- ceb252dbbd63a41a78ea33b41b96423c56f51ffbfb2223b8d2d51af3be7759c6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.