| | --- |
| | license: other |
| | tags: |
| | - text-to-video |
| | --- |
| | |
| |
|
| | Hunyuan1.5 use attention masks with variable-length sequences. For best performance, we recommend using an attention backend that handles padding efficiently. |
| |
|
| | We recommend installing [kernels](https://github.com/huggingface/kernels) (`pip install kernels`) to access prebuilt attention kernels. |
| |
|
| | You can check our [documentation](https://huggingface.co/docs/diffusers/main/en/optimization/attention_backends) to learn more about all the different attention backends we support. |
| |
|
| |
|
| | ```py |
| | import torch |
| | |
| | dtype = torch.bfloat16 |
| | device = "cuda:0" |
| | from diffusers import HunyuanVideo15Pipeline, attention_backend |
| | from diffusers.utils import export_to_video |
| | |
| | pipe = HunyuanVideo15Pipeline.from_pretrained("hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v", torch_dtype=dtype) |
| | pipe.enable_model_cpu_offload() |
| | pipe.vae.enable_tiling() |
| | |
| | generator = torch.Generator(device=device).manual_seed(seed) |
| | with attention_backend("_flash_3_hub"): # or `"flash_hub"` if you are not on H100/H800 |
| | video = pipe( |
| | prompt=prompt, |
| | generator=generator, |
| | num_frames=121, |
| | num_inference_steps=50, |
| | ).frames[0] |
| | export_to_video(video, "output.mp4", fps=24) |
| | ``` |
| |
|
| | To run inference with default attention backend |
| |
|
| |
|
| | ```py |
| | import torch |
| | |
| | dtype = torch.bfloat16 |
| | device = "cuda:0" |
| | from diffusers import HunyuanVideo15Pipeline |
| | from diffusers.utils import export_to_video |
| | |
| | pipe = HunyuanVideo15Pipeline.from_pretrained("hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v", torch_dtype=dtype) |
| | pipe.enable_model_cpu_offload() |
| | pipe.vae.enable_tiling() |
| | |
| | generator = torch.Generator(device=device).manual_seed(seed) |
| | |
| | video = pipe( |
| | prompt=prompt, |
| | generator=generator, |
| | num_frames=121, |
| | num_inference_steps=50, |
| | ).frames[0] |
| | export_to_video(video, "output.mp4", fps=24) |
| | ``` |