Diffusers documentation
Helios
Helios
Pekin Üniversitesi & ByteDance & vb. tarafından Shenghai Yuan, Yuanyang Yin, Zongjian Li, Xinwei Huang, Xiao Yang, Li Yuan'ın Helios: Gerçek Gerçek-Zamanlı Uzun Video Üretimi Modeli'i.
- Helios'u tanıtıyoruz; tek bir NVIDIA H100 GPU üzerinde 17 FPS hızında çalışan ve kalitede güçlü bir baz çizgiyle eşleşirken dakika ölçeğinde üretim destekleyen ilk 14B video üretim modeli. Üç temel boyutta ilerleme kaydediyoruz: (1) self-forcing, hata bankaları veya anahtar kare örneklemesi gibi yaygın kullanılan anti-drift sezgiselleri olmadan uzun video sürüklenmesine karşı sağlamlık; (2) KV-cache, nedensel maskeleme veya seyrek dikkat gibi standart hızlandırma teknikleri olmadan gerçek zamanlı üretim; ve (3) paralellik veya parçalama çerçeveleri olmadan eğitim, bu sayede 80 GB GPU belleğine kadar dört 14B model sığdırılırken görüntü-diffusion ölçeğinde toplu işlem boyutlarına olanak tanınması. Özellikle, Helios; T2V, I2V ve V2V görevlerini yerel olarak destekleyen birleşik bir girdi temsiline sahip 14B otoregresif diffusion modelidir. Uzun video üretimindeki sürüklenmeyi azaltmak için tipik başarısızlık modlarını karakterize ediyoruz ve sürüklenmeyi eğitim sırasında açıkça simüle eden, tekrarlayan hareketi kaynağında ortadan kaldıran basit ama etkili eğitim stratejileri öneriyoruz. Verimlilik için, geçmiş ve gürültülü bağlamı yoğun şekilde sıkıştırıyor ve örneklem adım sayısını azaltıyoruz; bu da 1.3B video üretici modellerinkine eşdeğer veya daha düşük hesaplama maliyetleri sağlıyor. Ayrıca, hem çıkarımı hem de eğitimi hızlandırırken bellek tüketimini azaltan altyapı düzeyinde optimizasyonlar sunuyoruz. Kapsamlı deneyler, Helios'un hem kısa hem de uzun video üretiminde önceki yöntemleri tutarlı bir şekilde geride bıraktığını göstermektedir. Tüm kod ve modeller [bu https URL](https://pku-yuangroup.github.io/Helios-Page) adresinde mevcuttur.
Diffusers'da aşağıdaki Helios modelleri desteklenmektedir:
- Helios-Base: v-prediction, standart CFG ve özel HeliosScheduler ile en yüksek kalite.
- Helios-Mid: Ara Ağırlık, v-prediction, CFG-Zero* ve özel HeliosScheduler ile.
- Helios-Distilled: x0-prediction ve özel HeliosDMDScheduler ile en iyi verimlilik.
Daha fazla video üretimi örneği için sağ kenar çubuğundaki Helios modellerine tıklayın.
Bellek ve Çıkarım Hızını Optimize Etme
Aşağıdaki örnek, bellek veya çıkarım hızı için optimize edilmiş metinden video üretiminin nasıl yapılacağını gösterir.
Çeşitli bellek tasarrufu teknikleri hakkında daha fazla ayrıntı için Bellek kullanımını azaltma kılavuzuna bakın.
Aşağıdaki Helios modeli ~6GB VRAM gerektirir.
import torch
from diffusers import AutoModel, HeliosPipeline
from diffusers.hooks.group_offloading import apply_group_offloading
from diffusers.utils import export_to_video
vae = AutoModel.from_pretrained("BestWishYsh/Helios-Base", subfolder="vae", dtype=torch.float32)
# group-offloading
pipeline = HeliosPipeline.from_pretrained(
"BestWishYsh/Helios-Base",
vae=vae,
dtype=torch.bfloat16
)
pipeline.enable_group_offload(
onload_device=torch.device("cuda"),
offload_device=torch.device("cpu"),
offload_type="leaf_level",
use_stream=True,
record_stream=True,
)
prompt = """
A vibrant tropical fish swimming gracefully among colorful coral reefs in a clear, turquoise ocean. The fish has bright blue
and yellow scales with a small, distinctive orange spot on its side, its fins moving fluidly. The coral reefs are alive with
a variety of marine life, including small schools of colorful fish and sea turtles gliding by. The water is crystal clear,
allowing for a view of the sandy ocean floor below. The reef itself is adorned with a mix of hard and soft corals in shades
of red, orange, and green. The photo captures the fish from a slightly elevated angle, emphasizing its lively movements and
the vivid colors of its surroundings. A close-up shot with dynamic movement.
"""
negative_prompt = """
Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality,
low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured,
misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards
"""
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
num_frames=99,
num_inference_steps=50,
guidance_scale=5.0,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_base_t2v_output.mp4", fps=24)Derleme ilk seferde yavaştır ancak pipeline'a yapılan sonraki çağrılar daha hızlıdır. FlashAttention ve SageAttention gibi Dikkat Arka Uçları, dikkat mekanizmasının hesaplamasını optimize ederek hızı önemli ölçüde artırabilir. Bağlam Paralelliği, girdi dizisini birden fazla cihaz arasında bölerek uzun bağlamların paralel olarak işlenmesini sağlar ve bellek baskısını ile gecikmeyi azaltır. Önbellekleme, ara çıktıları saklayıp yeniden kullanarak çıkarımı hızlandırabilir.
import torch
from diffusers import AutoModel, HeliosPipeline
from diffusers.utils import export_to_video
vae = AutoModel.from_pretrained("BestWishYsh/Helios-Base", subfolder="vae", dtype=torch.float32)
pipeline = HeliosPipeline.from_pretrained(
"BestWishYsh/Helios-Base",
vae=vae,
dtype=torch.bfloat16
)
pipeline.to("cuda") # or "mps", "xpu", "cpu"
# attention backend
# pipeline.transformer.set_attention_backend("flash")
pipeline.transformer.set_attention_backend("_flash_3_hub") # For Hopper GPUs
# torch.compile
torch.backends.cudnn.benchmark = True
pipeline.text_encoder.compile(mode="max-autotune-no-cudagraphs", dynamic=False)
pipeline.vae.compile(mode="max-autotune-no-cudagraphs", dynamic=False)
pipeline.transformer.compile(mode="max-autotune-no-cudagraphs", dynamic=False)
prompt = """
A vibrant tropical fish swimming gracefully among colorful coral reefs in a clear, turquoise ocean. The fish has bright blue
and yellow scales with a small, distinctive orange spot on its side, its fins moving fluidly. The coral reefs are alive with
a variety of marine life, including small schools of colorful fish and sea turtles gliding by. The water is crystal clear,
allowing for a view of the sandy ocean floor below. The reef itself is adorned with a mix of hard and soft corals in shades
of red, orange, and green. The photo captures the fish from a slightly elevated angle, emphasizing its lively movements and
the vivid colors of its surroundings. A close-up shot with dynamic movement.
"""
negative_prompt = """
Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality,
low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured,
misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards
"""
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
num_frames=99,
num_inference_steps=50,
guidance_scale=5.0,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_base_t2v_output.mp4", fps=24)Helios-Base ile Üretim
Aşağıdaki örnek, Helios-Base'in metin, görüntü veya videoya dayalı video üretmek için nasıl kullanılacağını göstermektedir.
import torch
from diffusers import AutoModel, HeliosPipeline
from diffusers.utils import export_to_video, load_video, load_image
vae = AutoModel.from_pretrained("BestWishYsh/Helios-Base", subfolder="vae", dtype=torch.float32)
pipeline = HeliosPipeline.from_pretrained(
"BestWishYsh/Helios-Base",
vae=vae,
dtype=torch.bfloat16
)
pipeline.to("cuda") # or "mps", "xpu", "cpu"
negative_prompt = """
Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality,
low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured,
misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards
"""
# For Text-to-Video
prompt = """
A vibrant tropical fish swimming gracefully among colorful coral reefs in a clear, turquoise ocean. The fish has bright blue
and yellow scales with a small, distinctive orange spot on its side, its fins moving fluidly. The coral reefs are alive with
a variety of marine life, including small schools of colorful fish and sea turtles gliding by. The water is crystal clear,
allowing for a view of the sandy ocean floor below. The reef itself is adorned with a mix of hard and soft corals in shades
of red, orange, and green. The photo captures the fish from a slightly elevated angle, emphasizing its lively movements and
the vivid colors of its surroundings. A close-up shot with dynamic movement.
"""
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
num_frames=99,
num_inference_steps=50,
guidance_scale=5.0,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_base_t2v_output.mp4", fps=24)
# For Image-to-Video
prompt = """
A towering emerald wave surges forward, its crest curling with raw power and energy. Sunlight glints off the translucent water,
illuminating the intricate textures and deep green hues within the wave’s body. A thick spray erupts from the breaking crest,
casting a misty veil that dances above the churning surface. As the perspective widens, the immense scale of the wave becomes
apparent, revealing the restless expanse of the ocean stretching beyond. The scene captures the ocean’s untamed beauty and
relentless force, with every droplet and ripple shimmering in the light. The dynamic motion and vivid colors evoke both awe and
respect for nature’s might.
"""
image_path = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/helios/wave.jpg"
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
image=load_image(image_path).resize((640, 384)),
num_frames=99,
num_inference_steps=50,
guidance_scale=5.0,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_base_i2v_output.mp4", fps=24)
# For Video-to-Video
prompt = """
A bright yellow Lamborghini Huracn Tecnica speeds along a curving mountain road, surrounded by lush green trees
under a partly cloudy sky. The car's sleek design and vibrant color stand out against the natural backdrop,
emphasizing its dynamic movement. The road curves gently, with a guardrail visible on one side, adding depth to
the scene. The motion blur captures the sense of speed and energy, creating a thrilling and exhilarating atmosphere.
A front-facing shot from a slightly elevated angle, highlighting the car's aggressive stance and the surrounding greenery.
"""
video_path = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/helios/car.mp4"
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
video=load_video(video_path),
num_frames=99,
num_inference_steps=50,
guidance_scale=5.0,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_base_v2v_output.mp4", fps=24)Helios-Mid ile Üretim
Aşağıdaki örnek, metin, görüntü veya videoya dayalı video üretmek için Helios-Mid'in nasıl kullanılacağını göstermektedir.
import torch
from diffusers import AutoModel, HeliosPyramidPipeline
from diffusers.utils import export_to_video, load_video, load_image
vae = AutoModel.from_pretrained("BestWishYsh/Helios-Mid", subfolder="vae", dtype=torch.float32)
pipeline = HeliosPyramidPipeline.from_pretrained(
"BestWishYsh/Helios-Mid",
vae=vae,
dtype=torch.bfloat16
)
pipeline.to("cuda") # or "mps", "xpu", "cpu"
negative_prompt = """
Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality,
low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured,
misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards
"""
# For Text-to-Video
prompt = """
A vibrant tropical fish swimming gracefully among colorful coral reefs in a clear, turquoise ocean. The fish has bright blue
and yellow scales with a small, distinctive orange spot on its side, its fins moving fluidly. The coral reefs are alive with
a variety of marine life, including small schools of colorful fish and sea turtles gliding by. The water is crystal clear,
allowing for a view of the sandy ocean floor below. The reef itself is adorned with a mix of hard and soft corals in shades
of red, orange, and green. The photo captures the fish from a slightly elevated angle, emphasizing its lively movements and
the vivid colors of its surroundings. A close-up shot with dynamic movement.
"""
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
num_frames=99,
pyramid_num_inference_steps_list=[20, 20, 20],
guidance_scale=5.0,
use_zero_init=True,
zero_steps=1,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_pyramid_t2v_output.mp4", fps=24)
# For Image-to-Video
prompt = """
A towering emerald wave surges forward, its crest curling with raw power and energy. Sunlight glints off the translucent water,
illuminating the intricate textures and deep green hues within the wave’s body. A thick spray erupts from the breaking crest,
casting a misty veil that dances above the churning surface. As the perspective widens, the immense scale of the wave becomes
apparent, revealing the restless expanse of the ocean stretching beyond. The scene captures the ocean’s untamed beauty and
relentless force, with every droplet and ripple shimmering in the light. The dynamic motion and vivid colors evoke both awe and
respect for nature’s might.
"""
image_path = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/helios/wave.jpg"
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
image=load_image(image_path).resize((640, 384)),
num_frames=99,
pyramid_num_inference_steps_list=[20, 20, 20],
guidance_scale=5.0,
use_zero_init=True,
zero_steps=1,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_pyramid_i2v_output.mp4", fps=24)
# For Video-to-Video
prompt = """
A bright yellow Lamborghini Huracn Tecnica speeds along a curving mountain road, surrounded by lush green trees
under a partly cloudy sky. The car's sleek design and vibrant color stand out against the natural backdrop,
emphasizing its dynamic movement. The road curves gently, with a guardrail visible on one side, adding depth to
the scene. The motion blur captures the sense of speed and energy, creating a thrilling and exhilarating atmosphere.
A front-facing shot from a slightly elevated angle, highlighting the car's aggressive stance and the surrounding greenery.
"""
video_path = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/helios/car.mp4"
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
video=load_video(video_path),
num_frames=99,
pyramid_num_inference_steps_list=[20, 20, 20],
guidance_scale=5.0,
use_zero_init=True,
zero_steps=1,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_pyramid_v2v_output.mp4", fps=24)Helios-Distilled ile Üretim
Aşağıdaki örnek, metin, görüntü veya videoya dayalı video üretmek için Helios-Distilled'in nasıl kullanılacağını göstermektedir.
import torch
from diffusers import AutoModel, HeliosPyramidPipeline
from diffusers.utils import export_to_video, load_video, load_image
vae = AutoModel.from_pretrained("BestWishYsh/Helios-Distilled", subfolder="vae", dtype=torch.float32)
pipeline = HeliosPyramidPipeline.from_pretrained(
"BestWishYsh/Helios-Distilled",
vae=vae,
dtype=torch.bfloat16
)
pipeline.to("cuda") # or "mps", "xpu", "cpu"
negative_prompt = """
Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality,
low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured,
misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards
"""
# For Text-to-Video
prompt = """
A vibrant tropical fish swimming gracefully among colorful coral reefs in a clear, turquoise ocean. The fish has bright blue
and yellow scales with a small, distinctive orange spot on its side, its fins moving fluidly. The coral reefs are alive with
a variety of marine life, including small schools of colorful fish and sea turtles gliding by. The water is crystal clear,
allowing for a view of the sandy ocean floor below. The reef itself is adorned with a mix of hard and soft corals in shades
of red, orange, and green. The photo captures the fish from a slightly elevated angle, emphasizing its lively movements and
the vivid colors of its surroundings. A close-up shot with dynamic movement.
"""
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
num_frames=240,
pyramid_num_inference_steps_list=[2, 2, 2],
guidance_scale=1.0,
is_amplify_first_chunk=True,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_distilled_t2v_output.mp4", fps=24)
# For Image-to-Video
prompt = """
A towering emerald wave surges forward, its crest curling with raw power and energy. Sunlight glints off the translucent water,
illuminating the intricate textures and deep green hues within the wave’s body. A thick spray erupts from the breaking crest,
casting a misty veil that dances above the churning surface. As the perspective widens, the immense scale of the wave becomes
apparent, revealing the restless expanse of the ocean stretching beyond. The scene captures the ocean’s untamed beauty and
relentless force, with every droplet and ripple shimmering in the light. The dynamic motion and vivid colors evoke both awe and
respect for nature’s might.
"""
image_path = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/helios/wave.jpg"
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
image=load_image(image_path).resize((640, 384)),
num_frames=240,
pyramid_num_inference_steps_list=[2, 2, 2],
guidance_scale=1.0,
is_amplify_first_chunk=True,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_distilled_i2v_output.mp4", fps=24)
# For Video-to-Video
prompt = """
A bright yellow Lamborghini Huracn Tecnica speeds along a curving mountain road, surrounded by lush green trees
under a partly cloudy sky. The car's sleek design and vibrant color stand out against the natural backdrop,
emphasizing its dynamic movement. The road curves gently, with a guardrail visible on one side, adding depth to
the scene. The motion blur captures the sense of speed and energy, creating a thrilling and exhilarating atmosphere.
A front-facing shot from a slightly elevated angle, highlighting the car's aggressive stance and the surrounding greenery.
"""
video_path = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/helios/car.mp4"
output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
video=load_video(video_path),
num_frames=240,
pyramid_num_inference_steps_list=[2, 2, 2],
guidance_scale=1.0,
is_amplify_first_chunk=True,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_distilled_v2v_output.mp4", fps=24)Metinden Videoya Örnekleri
| İstem | Oluşturulan Video |
|---|---|
| Modern bir şehir otobüsünü, yolcularla dolu olarak sürmeye çalışan bir Viking savaşçısı. Viking'in geriye toplanmış uzun sarı saçları, sakalı, kürk kaplı bir kask ve zırhı var. Geleneksel bir tunik ve pantolon giyiyor, ancak yoğun sokaklarda ilerlemeye odaklanırken emniyet kemeri de takıyor. Otobüsün içi tipik; koltuk sıraları, günlük rutinlerine devam eden çeşitli yolcularla dolu. Dış çekimler, yüksek binalar ve trafiği içeren hareketli şehir ortamını gösteriyor. Direksiyon başındaki Viking'e odaklanan orta plan, ara sıra kararlı ifadesine yakın çekimler eşlik ediyor. | |
| Belgesel tarzında, sola hareket eden bir kamera kamyonundan çekilmiş bir doğa fotoğrafı; bir yengecin yuvasına hızla kaçışını yakalıyor. Yengecin sert, yeşilimsi-kahverengi bir kabuğu ve uzun pençeleri var; kumlu zeminde kararlı bir hızla ilerliyor. Kumun içine gömülürken gövdesi hafifçe kavisli ve arkasında küçük bir iz bırakıyor. Arka planda, dağınık kayalar ve deniz kabuklarıyla dolu sığ bir plaj ile ufukta kıyı şeridinin nazik bir eğrisi görülüyor. Fotoğraf, doğal ve gerçekçi bir dokuya sahip olup yengecin doğal hareketini ve kumun dokusunu vurguluyor. Hafif yüksek bir açıdan çekilmiş yakın plan bir görüntü. |
Görüntüden Videoya Örnekleri
| Görsel | İstem | Oluşturulan Video |
|---|---|---|
![]() | Modern tasarımı ve dinamik hareketi, uzaklara uzanan çevresindeki tarlaların ve ağaçların bulanık hareketiyle vurgulanan şık kırmızı bir Kia araba, bulutlu bir gökyüzü altında kırsal bir yolda hızla ilerliyor. Aracın parlak dış yüzeyi kapalı gökyüzünü yansıtarak aerodinamik formunu ve sportif duruşunu öne çıkarıyor. Plaka "KIA 626" okunuyor ve aracın farları açık, bu da hareket ve enerji hissini artırıyor. Yol nazikçe kıvrılıyor ve araba hafifçe merkezden dışarıda konumlandırılarak ileriye doğru bir ivme hissi yaratıyor. Dinamik bir ön üçte birlik görünüm, aracın güçlü varlığını, yuvarlak tepelerin ve dağınık ağaçların sakin arka planına karşı yakalıyor. | |
![]() | Yakın çekim, dikkat çekici yeşil gözleri ve beyaz bıyıklarıyla yumuşacık turuncu bir kedi yakalar; kedi kameraya dikkatle bakmaktadır. Kedinin tüyleri yumuşak ve bakımlıdır; sıcak turuncu ve krem tonlarının bir karışımını oluşturur. Büyük, ifade dolu gözleri canlı bir yeşildir; merakı ve uyanıklığını yansıtır. Kedinin burnu küçük ve pembe, ağzı ise hafifçe açıktır; pembe dilinin bir kısmı görünmektedir. Arka plan yumuşak bir şekilde bulanıktır; nötr tonlara sahip, rahat bir iç mekan ortamını çağrıştırır. Fotoğrafın sığ bir derinlik alanı vardır; kedinin yüzü keskin bir şekilde odaklanırken arka plan bulanık kalır. Biraz yukarıdan alınmış yakın çekim bir kare. |
Etkileşimli Video Tanıtımları
| İstem | Oluşturulan Video |
|---|---|
| İstem burada bulunabilir | |
| İstem burada bulunabilir |
Kaynaklar
Helios hakkında aşağıdaki kaynaklarla daha fazla bilgi edinin.
- Helios'un temel özelliklerinin bir gösterimi için video1 ve video2 videolarını izleyin.
- Daha fazla ayrıntı için araştırma makalesi: Helios: Real Real-Time Long Video Generation Model.
HeliosPipeline
sınıf diffusers.HeliosPipeline
< source >( tokenizer: AutoTokenizertext_encoder: UMT5EncoderModelvae: AutoencoderKLWanscheduler: HeliosSchedulertransformer: HeliosTransformer3DModel )
Parametreler
- tokenizer (
T5Tokenizer) — T5'den gelen tokenizer, özellikle google/umt5-xxl varyantı. - text_encoder (
T5EncoderModel) — T5, özellikle google/umt5-xxl varyantı. - transformer (HeliosTransformer3DModel) — Giriş latentlerini gürültüden arındırmak için kullanılan koşullu Transformer.
- scheduler (HeliosScheduler) —
Kodlanmış görüntü latentlerini gürültüden arındırmak için
transformerile birlikte kullanılacak bir zamanlayıcı. - vae (AutoencoderKLWan) — Video'ları latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
Helios kullanılarak metinden videoya / görüntüden videoya / videodan videoya üretim için Pipeline.
Bu model DiffusionPipeline sınıfından devralır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Noneheight: int = 384width: int = 640num_frames: int = 132num_inference_steps: int = 50sigmas: list = Noneguidance_scale: float = 5.0num_videos_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'np'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Noneimage_latents: typing.Optional[torch.Tensor] = Nonefake_image_latents: typing.Optional[torch.Tensor] = Noneadd_noise_to_image_latents: bool = Trueimage_noise_sigma_min: float = 0.111image_noise_sigma_max: float = 0.135video: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Nonevideo_latents: typing.Optional[torch.Tensor] = Noneadd_noise_to_video_latents: bool = Truevideo_noise_sigma_min: float = 0.111video_noise_sigma_max: float = 0.135history_sizes: list = [16, 2, 1]num_latent_frames_per_chunk: int = 9keep_first_frame: bool = Trueis_skip_first_chunk: bool = False ) → ~HeliosPipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirin. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretim sırasında kaçınılması istenen istem veya istemler. Tanımlanmamışsa bunun yerinenegative_prompt_embedsgeçirin. Rehberlik kullanılmadığında (guidance_scale<1) yok sayılır. - height (
int, varsayılan384) — Oluşturulan görüntünün piksel cinsinden yüksekliği. - width (
int, varsayılan640) — Oluşturulan görüntünün piksel cinsinden genişliği. - num_frames (
int, varsayılan132) — Oluşturulan videodaki kare sayısı. - num_inference_steps (
int, varsayılan50) — 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ı) — Gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, zamanlayıcının varsayılan zamanlaması kullanılır. - guidance_scale (
float, varsayılan5.0) — Classifier-Free Diffusion Guidance makalesinde tanımlandığı gibi yönlendirme ölçeği.guidance_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Yönlendirme ölçeği,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, ancak bu genellikle daha düşük görsel kalitesi pahasına gerçekleşir. - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her istem için oluşturulacak görüntü sayısı. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için kullanılan birtorch.Generator. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenen, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak (istifade ağırlıklandırma) için kullanılabilir. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından üretilir. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Sağlanmazsa,negative_promptüzerinden üretilir. - output_type (
str, isteğe bağlı, varsayılan"np") — Oluşturulan görüntünün çıktı biçimi.PIL.Imageveyanp.arrayarasında seçim yapın. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerineHeliosPipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable,PipelineCallback,MultiPipelineCallbacks, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan, aşağıdaki argümanlara sahip bir fonksiyon veyaPipelineCallback/MultiPipelineCallbacksalt sınıfı:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerecektir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargü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ılan512) — Metin kodlayıcısının (text encoder) maksimum dizi uzunluğu. İfade (prompt) bu uzunluktan uzunsa kırpılır. İfade bu uzunluktan kısaysa bu uzunluğa kadar dolgu (padding) yapılır. - image (
PipelineImageInput, isteğe bağlı) — Görüntüden videoya koşullandırma için kullanılan giriş görüntüsü. - image_latents (
torch.Tensor, isteğe bağlı) —imageyerine kullanılacak önceden kodlanmış görüntü latentleri. - fake_image_latents (
torch.Tensor, isteğe bağlı) — Koşullandırma sırasında kullanılan isteğe bağlı sahte görüntü latensleri. - add_noise_to_image_latents (
bool, isteğe bağlı, varsayılanTrue) — Gürültü azaltma işleminden önce görüntü latentlerine gürültü eklenip eklenmeyeceğini belirtir. - image_noise_sigma_min (
float, isteğe bağlı, varsayılan0.111) — Görüntü latentlerine eklenen gürültü için minimum sigma değeri. - image_noise_sigma_max (
float, isteğe bağlı, varsayılan0.135) — Görüntü latentlerine eklenen gürültü için maksimum sigma değeri. - video (
PipelineImageInput, isteğe bağlı) — Video-to-video koşullandırma için kullanılan giriş videosu. - video_latents (
torch.Tensor, isteğe bağlı) —videoyerine kullanılacak önceden kodlanmış video latensleri. - add_noise_to_video_latents (
bool, isteğe bağlı, varsayılanTrue) — Gürültü azaltma işleminden önce video latentlerine gürültü eklenip eklenmeyeceğini belirtir. - video_noise_sigma_min (
float, isteğe bağlı, varsayılan0.111) — Video latentlerine eklenen gürültü için minimum sigma değeri. - video_noise_sigma_max (
float, isteğe bağlı, varsayılan0.135) — Video latentlerine eklenen gürültü için maksimum sigma değeri. - history_sizes (
list, isteğe bağlı, varsayılan[16, 2, 1]) — Otomatik regresif parçalı üretimde kullanılan geçmiş pencere boyutları. - num_latent_frames_per_chunk (
int, isteğe bağlı, varsayılan9) — Otonom üretici (autoregressive) üretim sırasında her parça (chunk) başına üretilen gizli (latent) kare sayısı. - keep_first_frame (
bool, isteğe bağlı, varsayılanTrue) — Parçalar arasında ilk kareyi koruyup korumayacağı. - is_skip_first_chunk (
bool, isteğe bağlı, varsayılanFalse) — İlk parçanın oluşturulmasının atlanıp atlanmayacağı.
Dönüş değeri
~HeliosPipelineOutput veya tuple
return_dict True ise HeliosPipelineOutput döndürülür, aksi halde 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çeren bir tuple döndürülür.
Üretim için pipeline'ın çağrı fonksiyonu.
Örnekler:
>>> import torch
>>> from diffusers.utils import export_to_video
>>> from diffusers import AutoencoderKLWan, HeliosPipeline
>>> # Available models: BestWishYsh/Helios-Base, BestWishYsh/Helios-Mid, BestWishYsh/Helios-Distilled
>>> model_id = "BestWishYsh/Helios-Base"
>>> vae = AutoencoderKLWan.from_pretrained(model_id, subfolder="vae", torch_dtype=torch.float32)
>>> pipe = HeliosPipeline.from_pretrained(model_id, vae=vae, torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "A cat and a dog baking a cake together in a kitchen. The cat is carefully measuring flour, while the dog is stirring the batter with a wooden spoon. The kitchen is cozy, with sunlight streaming through the window."
>>> negative_prompt = "Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards"
>>> output = pipe(
... prompt=prompt,
... negative_prompt=negative_prompt,
... height=384,
... width=640,
... num_frames=132,
... guidance_scale=5.0,
... ).frames[0]
>>> export_to_video(output, "output.mp4", fps=24)encode_prompt
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 226device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yaniguidance_scaledeğeri1'den küçükse) yok sayılır. - do_classifier_free_guidance (
bool, isteğe bağlı, varsayılanTrue) — Classifier free guidance kullanılacak mı? - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için oluşturulması gereken video sayısı. Sonuç gömme vektörlerinin yerleştirileceği torch cihazı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - negative_prompt_embeds (
torch.Tensor, 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_promptgirdi argümanından oluşturulur. - device — (
torch.device, isteğe bağlı): torch cihazı - dtype — (
torch.dtype, isteğe bağlı): torch dtype
İsteği metin kodlayıcı gizli durumlarına kodlar.
HeliosPyramidPipeline
sınıf diffusers.HeliosPyramidPipeline
< source >( tokenizer: AutoTokenizertext_encoder: UMT5EncoderModelvae: AutoencoderKLWanscheduler: diffusers.schedulers.scheduling_helios.HeliosScheduler | diffusers.schedulers.scheduling_helios_dmd.HeliosDMDSchedulertransformer: HeliosTransformer3DModelis_cfg_zero_star: bool = Falseis_distilled: bool = False )
Parametreler
- tokenizer (
T5Tokenizer) — T5'den gelen tokenizer, özellikle google/umt5-xxl varyantı. - text_encoder (
T5EncoderModel) — T5, özellikle google/umt5-xxl varyantı. - transformer (HeliosTransformer3DModel) — Giriş latentlerini gürültüden arındırmak için kullanılan koşullu Transformer.
- scheduler ([
HeliosScheduler,HeliosDMDScheduler]) — Kodlanmış görüntü latentlerini gürültüden arındırmak içintransformerile birlikte kullanılacak bir zamanlayıcı. - vae (AutoencoderKLWan) — Video'ları latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
Helios kullanılarak metinden videoya / görüntüden videoya / videodan videoya üretim için Pipeline.
Bu model DiffusionPipeline sınıfından devralır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Noneheight: int = 384width: int = 640num_frames: int = 132sigmas: list = Noneguidance_scale: float = 5.0num_videos_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'np'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Noneimage_latents: typing.Optional[torch.Tensor] = Nonefake_image_latents: typing.Optional[torch.Tensor] = Noneadd_noise_to_image_latents: bool = Trueimage_noise_sigma_min: float = 0.111image_noise_sigma_max: float = 0.135video: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Nonevideo_latents: typing.Optional[torch.Tensor] = Noneadd_noise_to_video_latents: bool = Truevideo_noise_sigma_min: float = 0.111video_noise_sigma_max: float = 0.135history_sizes: list = [16, 2, 1]num_latent_frames_per_chunk: int = 9keep_first_frame: bool = Trueis_skip_first_chunk: bool = Falsepyramid_num_inference_steps_list: list = [10, 10, 10]use_zero_init: bool | None = Truezero_steps: int | None = 1is_amplify_first_chunk: bool = False ) → ~HeliosPipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirin. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretim sırasında kaçınılması istenen istem veya istemler. Tanımlanmamışsa bunun yerinenegative_prompt_embedsgeçirin. Rehberlik kullanılmadığında (guidance_scale<1) yok sayılır. - height (
int, varsayılan384) — Oluşturulan görüntünün piksel cinsinden yüksekliği. - width (
int, varsayılan640) — Oluşturulan görüntünün piksel cinsinden genişliği. - num_frames (
int, varsayılan132) — Oluşturulan videodaki kare sayısı. - sigmas (
list[float], isteğe bağlı) — Gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, zamanlayıcının varsayılan zamanlaması kullanılır. - guidance_scale (
float, varsayılan5.0) — Classifier-Free Diffusion Guidance makalesinde tanımlandığı gibi yönlendirme ölçeği.guidance_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Yönlendirme ölçeği,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, ancak bu genellikle daha düşük görsel kalitesi pahasına gerçekleşir. - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her istem için oluşturulacak görüntü sayısı. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için kullanılan birtorch.Generator. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenen, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak (istifade ağırlıklandırma) için kullanılabilir. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından üretilir. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Sağlanmazsa,negative_promptüzerinden üretilir. - output_type (
str, isteğe bağlı, varsayılan"np") — Oluşturulan görüntünün çıktı biçimi.PIL.Imageveyanp.arrayarasında seçim yapın. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerineHeliosPipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable,PipelineCallback,MultiPipelineCallbacks, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan, aşağıdaki argümanlara sahip bir fonksiyon veyaPipelineCallback/MultiPipelineCallbacksalt sınıfı:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerecektir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargü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ılan512) — Metin kodlayıcısının (text encoder) maksimum dizi uzunluğu. İfade (prompt) bu uzunluktan uzunsa kırpılır. İfade bu uzunluktan kısaysa bu uzunluğa kadar dolgu (padding) yapılır. - image (
PipelineImageInput, isteğe bağlı) — Görüntüden videoya koşullandırma için kullanılan giriş görüntüsü. - image_latents (
torch.Tensor, isteğe bağlı) —imageyerine kullanılacak önceden kodlanmış görüntü latentleri. - fake_image_latents (
torch.Tensor, isteğe bağlı) — Koşullandırma sırasında kullanılan isteğe bağlı sahte görüntü latensleri. - add_noise_to_image_latents (
bool, isteğe bağlı, varsayılanTrue) — Gürültü azaltma işleminden önce görüntü latentlerine gürültü eklenip eklenmeyeceğini belirtir. - image_noise_sigma_min (
float, isteğe bağlı, varsayılan0.111) — Görüntü latentlerine eklenen gürültü için minimum sigma değeri. - image_noise_sigma_max (
float, isteğe bağlı, varsayılan0.135) — Görüntü latentlerine eklenen gürültü için maksimum sigma değeri. - video (
PipelineImageInput, isteğe bağlı) — Video-to-video koşullandırma için kullanılan giriş videosu. - video_latents (
torch.Tensor, isteğe bağlı) —videoyerine kullanılacak önceden kodlanmış video latensleri. - add_noise_to_video_latents (
bool, isteğe bağlı, varsayılanTrue) — Gürültü azaltma işleminden önce video latentlerine gürültü eklenip eklenmeyeceğini belirtir. - video_noise_sigma_min (
float, isteğe bağlı, varsayılan0.111) — Video latentlerine eklenen gürültü için minimum sigma değeri. - video_noise_sigma_max (
float, isteğe bağlı, varsayılan0.135) — Video latentlerine eklenen gürültü için maksimum sigma değeri. - history_sizes (
list, isteğe bağlı, varsayılan[16, 2, 1]) — Otomatik regresif parçalı üretimde kullanılan geçmiş pencere boyutları. - num_latent_frames_per_chunk (
int, isteğe bağlı, varsayılan9) — Otonom üretici (autoregressive) üretim sırasında her parça (chunk) başına üretilen gizli (latent) kare sayısı. - keep_first_frame (
bool, isteğe bağlı, varsayılanTrue) — Parçalar arasında ilk kareyi koruyup korumayacağı. - is_skip_first_chunk (
bool, isteğe bağlı, varsayılanFalse) — İlk parçanın oluşturulmasının atlanıp atlanmayacağı. - pyramid_num_inference_steps_list (
list, isteğe bağlı, varsayılan[10, 10, 10]) — Stage 2 üretimi sırasında her piramit aşaması için çıkarım adım sayısı. - use_zero_init (
bool, isteğe bağlı, varsayılanTrue) — Gürültü azaltmanın başlangıcında CFG sıfır başlatmanın uygulanıp uygulanmayacağı. - zero_steps (
int, isteğe bağlı, varsayılan1) — CFG sıfır başlatma kullanan ilk adımların sayısı. - is_amplify_first_chunk (
bool, isteğe bağlı, varsayılanFalse) — İlk parçada yönlendirmenin (DMD ile ilgili) artırılıp artırılmayacağı.
Dönüş değeri
~HeliosPipelineOutput veya tuple
return_dict True ise HeliosPipelineOutput döndürülür, aksi halde 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çeren bir tuple döndürülür.
Üretim için pipeline'ın çağrı fonksiyonu.
Örnekler:
>>> import torch
>>> from diffusers.utils import export_to_video
>>> from diffusers import AutoencoderKLWan, HeliosPyramidPipeline
>>> # Available models: BestWishYsh/Helios-Base, BestWishYsh/Helios-Mid, BestWishYsh/Helios-Distilled
>>> model_id = "BestWishYsh/Helios-Base"
>>> vae = AutoencoderKLWan.from_pretrained(model_id, subfolder="vae", torch_dtype=torch.float32)
>>> pipe = HeliosPyramidPipeline.from_pretrained(model_id, vae=vae, torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "A cat and a dog baking a cake together in a kitchen. The cat is carefully measuring flour, while the dog is stirring the batter with a wooden spoon. The kitchen is cozy, with sunlight streaming through the window."
>>> negative_prompt = "Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards"
>>> output = pipe(
... prompt=prompt,
... negative_prompt=negative_prompt,
... height=384,
... width=640,
... num_frames=132,
... guidance_scale=5.0,
... ).frames[0]
>>> export_to_video(output, "output.mp4", fps=24)encode_prompt
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 226device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yaniguidance_scaledeğeri1'den küçükse) yok sayılır. - do_classifier_free_guidance (
bool, isteğe bağlı, varsayılanTrue) — Classifier free guidance kullanılacak mı? - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için oluşturulması gereken video sayısı. Sonuç gömme vektörlerinin yerleştirileceği torch cihazı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - negative_prompt_embeds (
torch.Tensor, 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_promptgirdi argümanından oluşturulur. - device — (
torch.device, isteğe bağlı): torch cihazı - dtype — (
torch.dtype, isteğe bağlı): torch dtype
İsteği metin kodlayıcı gizli durumlarına kodlar.
HeliosPipelineOutput
sınıf diffusers.pipelines.helios.pipeline_output.HeliosPipelineOutput
< source >( frames: Tensor )
Parametreler
- frames (
torch.Tensor,np.ndarrayveya 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 dizisi veya Torch tensörü de olabilir.
Helios iş akışları için çıktı sınıfı.

