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. --> | |
| # Wan-Animate-2 | |
| Alibaba Wan Team tarafından geliştirilen [Wan-Animate-2](https://github.com/Wan-Video/Wan2.2), referans karakter görselini, sürücü videonun hareketiyle canlandırır. Sürücü video, sabit uzunlukta segmentler halinde işlenir: her segment, her transformer katmanında sürücü segmentinin K/V'sini önbelleğe alan bir referans çıkarma geçişi çalıştırır, bu önbelleğe karşı gürültü giderme yapar ve bir sonraki segmentin önceki segmentin çözümlenmiş kuyruk karelerine bağlı olması nedeniyle döngü içinde çözümlenir. | |
| İki hazır ayar mevcuttur: temel kontrol noktası, sınıflandırıcı-ücretsiz yönlendirme ile örneklerken, damıtılmış kontrol noktası yönlendirme olmadan birkaç adımda örnekler (yönlendiricisi `guidance_scale=1.0` olarak sabitlenmiştir). | |
| ```python | |
| import torch | |
| from diffusers import ModularPipeline | |
| from diffusers.utils import export_to_video, load_image, load_video | |
| pipe = ModularPipeline.from_pretrained("Wan-AI/Wan2.2-Animate-2-14B-Diffusers") | |
| pipe.load_components(dtype=torch.bfloat16) | |
| # The transformer weights and the per-segment reference KV cache do not co-reside on one 80 GB | |
| # card at the default resolution, so stream the transformer's blocks. Compiling the blocks is | |
| # required as the in-context attention runs on the flex backend | |
| pipe.transformer.enable_group_offload( | |
| onload_device=torch.device("cuda"), | |
| offload_device=torch.device("cpu"), | |
| offload_type="block_level", | |
| use_stream=True, | |
| ) | |
| pipe.text_encoder.to("cuda") # or "mps", "xpu", "cpu" | |
| pipe.image_encoder.to("cuda") | |
| pipe.vae.to("cuda") | |
| pipe.transformer.compile_repeated_blocks(fullgraph=False) | |
| # The first demo from the official repository: https://github.com/Wan-Video/Wan-Animate-2 | |
| demo = "https://raw.githubusercontent.com/Wan-Video/Wan-Animate-2/main/examples/demo1" | |
| image = load_image(f"{demo}/reference.png") | |
| driving_video, driving_video_fps = load_video(f"{demo}/template.mp4", return_fps=True) | |
| prompt = "人物外观描述:一只银灰色虎斑纹的小猫,拥有圆润的脸庞、竖立的耳朵和巨大的圆形眼睛。它身穿一套深蓝色的制服套装,包括一件带有金色纽扣的西装外套和一条百褶裙。外套里面搭配着白色衬衫,领口处系着一个红色的蝴蝶结,袖口露出白色的衬衫边缘。背景描述:背景为纯白色,光线均匀明亮,无其他杂物或装饰。" | |
| videos = pipe( | |
| image=image, | |
| driving_video=driving_video, | |
| driving_video_fps=driving_video_fps, | |
| prompt=prompt, | |
| output="videos", | |
| ) | |
| export_to_video(videos[0], "output.mp4", fps=24) | |
| ``` | |
| Distilled checkpoint için `Wan-AI/Wan2.2-Animate-2-14B-Distilled-Diffusers` modelini aynı şekilde yükleyin — başka hiçbir değişiklik yoktur. Her preset kendi örneklem varsayılanlarını taşır (temel checkpoint için 40 adım, distilled olan için 10 adım) ve hiçbir yerde `guidance_scale` argümanı bulunmaz: guidance, pipeline'ın guider bileşenine aittir (temel preset için 3.0 değerinde classifier-free guidance, distilled olan için devre dışı). | |
| `height` ve `width` (varsayılanlar 800 ve 640), üretilen videonun hedef *alanını* belirler; gerçek kare boyutu, referans görüntünün en-boy oranını korur ve sürücü kareleri buna göre letterbox (siyah şeritli) olarak ayarlanır. Zaten hedef letterbox boyutunda olan girdiler, ön işlemeden dokunulmadan geçer; bu nedenle ön işleme tamamen pipeline dışında da yapılabilir. | |
| ## WanAnimate2ModularPipeline[[diffusers.WanAnimate2ModularPipeline]] | |
| #### diffusers.WanAnimate2ModularPipeline[[diffusers.WanAnimate2ModularPipeline]] | |
| ```python | |
| diffusers.WanAnimate2ModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/wan_animate_2/modular_pipeline.py#L23) | |
| Wan-Animate-2 karakter animasyonu için bir ModularPipeline. | |
| ## WanAnimate2DistilledModularPipeline[[diffusers.WanAnimate2DistilledModularPipeline]] | |
| #### diffusers.WanAnimate2DistilledModularPipeline[[diffusers.WanAnimate2DistilledModularPipeline]] | |
| ```python | |
| diffusers.WanAnimate2DistilledModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/wan_animate_2/modular_pipeline.py#L62) | |
| Sınıflandırıcı-özgür yönlendirme olmadan az sayıda adımda örnekleyen distile Wan-Animate-2 modeli için bir ModularPipeline. | |
| ## WanAnimate2Blocks[[diffusers.WanAnimate2Blocks]] | |
| #### diffusers.WanAnimate2Blocks[[diffusers.WanAnimate2Blocks]] | |
| ```python | |
| diffusers.WanAnimate2Blocks() | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/wan_animate_2/modular_blocks_wan_animate_2.py#L252) | |
| Wan-Animate-2 karakter animasyonu için modüler pipeline blokları: bir referans karakter görseli ve bir sürücü video, karakterin sürücü hareketini takip ettiği bir video üretir. | |
| Bileşenler: text_encoder (`UMT5EncoderModel`) tokenizer (`AutoTokenizer`) image_processor (`WanAnimate2VideoProcessor`) image_encoder (`CLIPVisionModel`) video_processor (`WanAnimate2VideoProcessor`) vae (`AutoencoderKLWan`) transformer (`WanAnimate2Transformer3DModel`) scheduler (`SchedulerMixin`) guider (`ClassifierFreeGuidance`) | |
| Girdiler: prompt (`str`): Görsel üretimi yönlendirmek için istem veya istemler. negative_prompt (`str`, *isteğe bağlı*): Görsel üretimini yönlendirmemesi gereken istem veya istemler. prompt_ref (`str`, *isteğe bağlı*, varsayılan: 人物动作的参考视频): Sürücü video bağlamı için referans istem. max_sequence_length (`int`, *isteğe bağlı*, varsayılan: 512): İstem kodlaması için maksimum dizi uzunluğu. image (`Image | list`): Animasyonu yapılacak karakteri içeren referans görsel. height (`int`, *isteğe bağlı*, varsayılan: 800): `width` ile birlikte, üretilen videonun hedef *alanı*; en-boy oranı `image`'dan gelir. Çözümlenen kare yüksekliği ile değiştirilir. width (`int`, *isteğe bağlı*, varsayılan: 640): `height` parametresine bakınız. Çözümlenen kare genişliği ile değiştirilir. driving_video (`list`): Hareketi sağlayan sürücü video; `VideoProcessor.preprocess_video` tarafından kabul edilen herhangi bir formatta olabilir. driving_video_fps (`float`, *isteğe bağlı*): `driving_video`'nun çekildiği kare hızı — `load_video(..., return_fps=True)` bunu raporlar. Ayarlandığında, sürücü kareleri buradan `fps`'ye yeniden örneklenir; `None` olduğunda olduğu gibi kullanılır. fps (`int`, *isteğe bağlı*, varsayılan: 24): Modelin üretim yaptığı kare hızı. segment_frame_length (`int`, *isteğe bağlı*, varsayılan: 81): Her çıkarım segmentindeki kare sayısı. prev_segment_conditioning_frames (`int`, *isteğe bağlı*, varsayılan: 1): Önceki segmentten devralınan koşullandırma karelerinin sayısı. generator (`Generator`, *isteğe bağlı*): Belirlenebilir üretim için Torch üreteci. num_inference_steps (`int`, *isteğe bağlı*, varsayılan: 40): Gürültü azaltma adım sayısı. **denoiser_input_fields (`None`, *isteğe bağlı*): Gürültü azaltıcı için koşullu model girdileri: örn. prompt_embeds, negative_prompt_embeds vb. output_type (`str`, *isteğe bağlı*, varsayılan: np): Çözümlenen videoların çıktı türü | |
| Çıktılar: videolar (`list`): Oluşturulan videolar. | |
| ## WanAnimate2DistilledBlocks[[diffusers.WanAnimate2DistilledBlocks]] | |
| #### diffusers.WanAnimate2DistilledBlocks[[diffusers.WanAnimate2DistilledBlocks]] | |
| ```python | |
| diffusers.WanAnimate2DistilledBlocks() | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/wan_animate_2/modular_blocks_wan_animate_2_distilled.py#L254) | |
| Damıtılmış Wan-Animate-2 karakter animasyonu için modüler pipeline blokları, classifier-free guidance olmadan birkaç adımda örneklem. | |
| Bileşenler: text_encoder (`UMT5EncoderModel`) tokenizer (`AutoTokenizer`) image_processor (`WanAnimate2VideoProcessor`) image_encoder (`CLIPVisionModel`) video_processor (`WanAnimate2VideoProcessor`) vae (`AutoencoderKLWan`) transformer (`WanAnimate2Transformer3DModel`) scheduler (`SchedulerMixin`) guider (`ClassifierFreeGuidance`) | |
| Girdiler: prompt (`str`): Görsel üretimi yönlendirmek için istem veya istemler. negative_prompt (`str`, *isteğe bağlı*): Görsel üretimini yönlendirmemesi gereken istem veya istemler. prompt_ref (`str`, *isteğe bağlı*, varsayılan: 人物动作的参考视频): Sürücü video bağlamı için referans istem. max_sequence_length (`int`, *isteğe bağlı*, varsayılan: 512): İstem kodlaması için maksimum dizi uzunluğu. image (`Image | list`): Animasyonu yapılacak karakteri içeren referans görsel. height (`int`, *isteğe bağlı*, varsayılan: 800): `width` ile birlikte, üretilen videonun hedef *alanı*; en-boy oranı `image`'dan gelir. Çözümlenen kare yüksekliği ile değiştirilir. width (`int`, *isteğe bağlı*, varsayılan: 640): `height` parametresine bakınız. Çözümlenen kare genişliği ile değiştirilir. driving_video (`list`): Hareketi sağlayan sürücü video; `VideoProcessor.preprocess_video` tarafından kabul edilen herhangi bir formatta olabilir. driving_video_fps (`float`, *isteğe bağlı*): `driving_video`'nun çekildiği kare hızı — `load_video(..., return_fps=True)` bunu raporlar. Ayarlandığında, sürücü kareleri buradan `fps`'ye yeniden örneklenir; `None` olduğunda olduğu gibi kullanılır. fps (`int`, *isteğe bağlı*, varsayılan: 24): Modelin üretim yaptığı kare hızı. segment_frame_length (`int`, *isteğe bağlı*, varsayılan: 81): Her çıkarım segmentindeki kare sayısı. prev_segment_conditioning_frames (`int`, *isteğe bağlı*, varsayılan: 1): Önceki segmentten devralınan koşullandırma karelerinin sayısı. generator (`Generator`, *isteğe bağlı*): Belirlenebilir üretim için Torch üreteci. num_inference_steps (`int`, *isteğe bağlı*, varsayılan: 10): Gürültü azaltma adım sayısı. **denoiser_input_fields (`None`, *isteğe bağlı*): Gürültü azaltıcı için koşullu model girdileri: örn. prompt_embeds, negative_prompt_embeds vb. output_type (`str`, *isteğe bağlı*, varsayılan: np): Çözümlenen videoların çıktı türü | |
| Çıktılar: videolar (`list`): Oluşturulan videolar. | |
Xet Storage Details
- Size:
- 11.7 kB
- Xet hash:
- 18ffcd376ab5a8869514a8cd67c362bfda6561e71275274880974965c2129369
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.