Diffusers documentation
صورة Kandinsky 5.0
صورة Kandinsky 5.0
Kandinsky 5.0 هي عائلة من نماذج الانتشار لتوليد الفيديو والصور.
Kandinsky 5.0 Image Lite هو نموذج خفيف لتوليد الصور (6 مليارات من المعاملات).
يُقدّم النموذج عدة ابتكارات رئيسية:
- خط أنابيب الانتشار الكامن مع Flow Matching لتحسين استقرار التدريب
- Diffusion Transformer (DiT) كعمود فقري توليدي رئيسي مع انتباه متقاطع إلى تمثيلات النص
- ترميز نصي مزدوج باستخدام Qwen2.5-VL و CLIP لفهم شامل للنص
- Flux VAE لتشفير وفك ترميز الصور بكفاءة
يمكن العثور على قاعدة الكود الأصلية في kandinskylab/Kandinsky-5.
اطّلع على منظمة Kandinsky Lab على Hub للحصول على نقاط التفتيش الرسمية للنماذج لتوليد الفيديو من النص، بما في ذلك النماذج المُسبقة التدريب، ونماذج SFT، ونماذج no-CFG، والنماذج المُقطّرة.
النماذج المتاحة
Kandinsky 5.0 Image Lite:
| model_id | الوصف | حالات الاستخدام |
|---|---|---|
| kandinskylab/Kandinsky-5.0-T2I-Lite-sft-Diffusers | نموذج 6B صورة مُدرَّب بإشراف | أعلى جودة توليد |
| kandinskylab/Kandinsky-5.0-I2I-Lite-sft-Diffusers | نموذج 6B لتحرير الصور مُدرَّب بإشراف | أعلى جودة توليد |
| kandinskylab/Kandinsky-5.0-T2I-Lite-pretrain-Diffusers | نموذج 6B image Base المُدرَّب مسبقًا | البحث وضبط الدقة |
| kandinskylab/Kandinsky-5.0-I2I-Lite-pretrain-Diffusers | نموذج 6B لتحرير الصور نموذج مُدرَّب مسبقًا | البحث وضبط الدقة |
أمثلة على الاستخدام
توليد النص إلى الصورة الأساسي
import torch
from diffusers import Kandinsky5T2IPipeline
# Load the pipeline
model_id = "kandinskylab/Kandinsky-5.0-T2I-Lite-sft-Diffusers"
pipe = Kandinsky5T2IPipeline.from_pretrained(model_id)
_ = pipe.to(device='cuda',dtype=torch.bfloat16) # or "mps", "xpu", "cpu"
# Generate image
prompt = "A fluffy, expressive cat wearing a bright red hat with a soft, slightly textured fabric. The hat should look cozy and well-fitted on the cat’s head. On the front of the hat, add clean, bold white text that reads “SWEET”, clearly visible and neatly centered. Ensure the overall lighting highlights the hat’s color and the cat’s fur details."
output = pipe(
prompt=prompt,
negative_prompt="",
height=1024,
width=1024,
num_inference_steps=50,
guidance_scale=3.5,
).image[0]التوليد الأساسي من صورة إلى صورة
import torch
from diffusers import Kandinsky5I2IPipeline
from diffusers.utils import load_image
# Load the pipeline
model_id = "kandinskylab/Kandinsky-5.0-I2I-Lite-sft-Diffusers"
pipe = Kandinsky5I2IPipeline.from_pretrained(model_id)
_ = pipe.to(device='cuda',dtype=torch.bfloat16) # or "mps", "xpu", "cpu"
pipe.enable_model_cpu_offload() # <--- Enable CPU offloading for single GPU inference
# Edit the input image
image = load_image(
"https://huggingface.co/kandinsky-community/kandinsky-3/resolve/main/assets/title.jpg?download=true"
)
prompt = "Change the background from a winter night scene to a bright summer day. Place the character on a sandy beach with clear blue sky, soft sunlight, and gentle waves in the distance. Replace the winter clothing with a light short-sleeved T-shirt (in soft pastel colors) and casual shorts. Ensure the character’s fur reflects warm daylight instead of cold winter tones. Add small beach details such as seashells, footprints in the sand, and a few scattered beach toys nearby. Keep the oranges in the scene, but place them naturally on the sand."
negative_prompt = ""
output = pipe(
image=image,
prompt=prompt,
negative_prompt=negative_prompt,
guidance_scale=3.5,
).image[0]Kandinsky5T2IPipeline
فئة diffusers.Kandinsky5T2IPipeline
< source >( transformer: Kandinsky5Transformer3DModelvae: AutoencoderKLtext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2VLProcessortext_encoder_2: CLIPTextModeltokenizer_2: CLIPTokenizerscheduler: FlowMatchEulerDiscreteScheduler )
المعاملات
- transformer (
Kandinsky5Transformer3DModel) — نموذج Transformer مشروط لإزالة الضوضاء من كامنات الصورة المُرمّزة. - vae (AutoencoderKL) — نموذج الترميز التبايني التلقائي black-forest-labs/FLUX.1-dev (vae) لتشفير وفك تشفير مقاطع الفيديو إلى تمثيلات كامنة ومنها.
- text_encoder (
Qwen2_5_VLForConditionalGeneration) — مُشفِّر نص ثابت Qwen2.5-VL. - tokenizer (
AutoProcessor) — مُقسِّم لـ Qwen2.5-VL. - text_encoder_2 (
CLIPTextModel) — نموذج CLIP مجمّد، تحديداً النسخة clip-vit-large-patch14. - tokenizer_2 (
CLIPTokenizer) — مُقسِّم لـ CLIP. - scheduler (FlowMatchEulerDiscreteScheduler) —
جدول زمني يُستخدم بالاقتران مع
transformerلإزالة الضوضاء من كائنات الصورة المُرمّزة.
خط أنابيب لتوليد الصور من النص باستخدام Kandinsky 5.0.
يرث هذا النموذج من DiffusionPipeline. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة المُنفَّذة لجميع خطوط الأنابيب (التنزيل، الحفظ، التشغيل على جهاز معين، إلخ).
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneheight: int = 1024width: int = 1024num_inference_steps: int = 50guidance_scale: float = 3.5num_images_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds_qwen: typing.Optional[torch.Tensor] = Noneprompt_embeds_clip: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_qwen: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_clip: typing.Optional[torch.Tensor] = Noneprompt_cu_seqlens: typing.Optional[torch.Tensor] = Nonenegative_prompt_cu_seqlens: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int, NoneType], diffusers.callbacks.PipelineCallback | diffusers.callbacks.MultiPipelineCallbacks]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~KandinskyImagePipelineOutput or tuple
المعاملات
- prompt (
strأوlist[str]، اختياري) — الموجّه أو الموجّهات التي تُوجّه توليد الصورة. إذا لم يُعرَّف، فمرّرprompt_embedsبدلاً من ذلك. - negative_prompt (
strأوlist[str]، اختياري) — الموجّه أو الموجّهات التي يجب تجنّبها أثناء توليد الصورة. إذا لم يُعرَّف، فمرّرnegative_prompt_embedsبدلاً من ذلك. يُتجاهل عند عدم استخدام التوجيه (guidance_scale<1). - height (
int، القيمة الافتراضية1024) — ارتفاع الصورة المولّدة بالبكسل. - width (
int، القيمة الافتراضية1024) — عرض الصورة المولّدة بالبكسل. - num_inference_steps (
int، القيمة الافتراضية50) — عدد خطوات إزالة الضوضاء. - guidance_scale (
float، القيمة الافتراضية5.0) — مقياس التوجيه كما هو مُعرَّف في التوجيه الحر من التصنيف. - num_images_per_prompt (
int، اختياري، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه. - generator (
torch.Generatorأوlist[torch.Generator]، اختياري) — مولّد torch لجعل التوليد حتميًا. - latents (
torch.Tensor، اختياري) — كائنات latents ضجيجية مُولّدة مسبقًا. - prompt_embeds_qwen (
torch.Tensor، اختياري) — تضمينات نصية Qwen مُولّدة مسبقًا. - prompt_embeds_clip (
torch.Tensor، اختياري) — تضمينات نصية CLIP مُولّدة مسبقًا. - negative_prompt_embeds_qwen (
torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا لنموذج Qwen. - negative_prompt_embeds_clip (
torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا بواسطة CLIP. - prompt_cu_seqlens (
torch.Tensor، اختياري) — أطوال التسلسل التراكمية المُولَّدة مسبقًا للموجّه الإيجابي في Qwen. - negative_prompt_cu_seqlens (
torch.Tensor، اختياري) — أطوال التسلسل التراكمية المُولَّدة مسبقًا لـ Qwen negative prompt. - output_type (
str، اختياري، الافتراضي"pil") — صيغة مخرجات الصورة المولّدة. - return_dict (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاعKandinskyImagePipelineOutputأم لا. - callback_on_step_end (
Callable،PipelineCallback،MultiPipelineCallbacks، اختياري) — دالة تُستدعى في نهاية كل خطوة إزالة ضوضاء. - callback_on_step_end_tensor_inputs (
List, اختياري) — قائمة مدخلات المصفوفات لدالةcallback_on_step_end. - max_sequence_length (
int، القيمة الافتراضية512) — أقصى طول للسلسلة لتشفير النص.
يعيد
~KandinskyImagePipelineOutput أو tuple
إذا كان return_dict هو True، يُعاد KandinskyImagePipelineOutput، وإلا يُعاد tuple يكون عنصره الأول قائمة بالصور المولّدة.
دالة الاستدعاء call لخط الأنابيب pipeline لتوليد الصور من النص.
أمثلة:
>>> import torch
>>> from diffusers import Kandinsky5T2IPipeline
>>> # Available models:
>>> # kandinskylab/Kandinsky-5.0-T2I-Lite-sft-Diffusers
>>> # kandinskylab/Kandinsky-5.0-T2I-Lite-pretrain-Diffusers
>>> model_id = "kandinskylab/Kandinsky-5.0-T2I-Lite-sft-Diffusers"
>>> pipe = Kandinsky5T2IPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16)
>>> pipe = pipe.to("cuda")
>>> prompt = "A cat and a dog baking a cake together in a kitchen."
>>> output = pipe(
... prompt=prompt,
... negative_prompt="",
... height=1024,
... width=1024,
... num_inference_steps=50,
... guidance_scale=3.5,
... ).frames[0]check_inputs
< source >( promptnegative_promptheightwidthprompt_embeds_qwen = Noneprompt_embeds_clip = Nonenegative_prompt_embeds_qwen = Nonenegative_prompt_embeds_clip = Noneprompt_cu_seqlens = Nonenegative_prompt_cu_seqlens = Nonecallback_on_step_end_tensor_inputs = Nonemax_sequence_length = None )
المعاملات
- prompt — موجه الإدخال
- negative_prompt — موجه سلبي للإرشاد
- height — ارتفاع الصورة
- width — عرض الصورة
- prompt_embeds_qwen — تمثيلات موجه Qwen محسوبة مسبقًا
- prompt_embeds_clip — تمثيلات موجهات CLIP محسوبة مسبقًا
- negative_prompt_embeds_qwen — تمثيلات سلبية مُسبقة الحساب لـ Qwen
- negative_prompt_embeds_clip — تمثيلات سلبية مُسبقة الحساب لـ CLIP
- prompt_cu_seqlens — أطوال التسلسلات التراكمية المحسوبة مسبقًا للموجّه الإيجابي في Qwen
- negative_prompt_cu_seqlens — أطوال التسلسلات التراكمية المحسوبة مسبقًا لـ Qwen negative prompt
- callback_on_step_end_tensor_inputs — مدخلات تينسور الدالة الاستدعائية
يرفع
ValueError
ValueError— إذا كانت المدخلات غير صالحة
تحقّق من معاملات الإدخال للخطّ الأنابيب.
encode_prompt
< source >( prompt: str | list[str]num_images_per_prompt: int = 1max_sequence_length: int = 512device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None ) → tuple[torch.Tensor, torch.Tensor, torch.Tensor]
المعاملات
- prompt (
strأوlist[str]) — الموجّه الذي سيتم ترميزه. - num_images_per_prompt (
int، اختياري، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه. - max_sequence_length (
int، اختياري، القيمة الافتراضية 512) — الحد الأقصى لطول التسلسل لتشفير النص. يجب أن يكون أقل من 1024 - device (
torch.device، اختياري) — جهاز Torch. - dtype (
torch.dtype، اختياري) — نوع البيانات في Torch.
يعيد
tuple[torch.Tensor, torch.Tensor, torch.Tensor]
- تضمينات نص Qwen ذات الشكل (batch_size * num_images_per_prompt, sequence_length, embedding_dim)
- تضمينات CLIP المجمّعة ذات الشكل (batch_size * num_images_per_prompt, clip_embedding_dim)
- الأطوال التراكمية للتسلسلات (
cu_seqlens) لتضمينات Qwen من الشكل (batch_size * num_images_per_prompt + 1,)
يقوم بتشفير موجه واحد (إيجابي أو سلبي) إلى حالات مخفية لمشفّر النص.
تجمع هذه الطريقة بين التضمينات (embeddings) المستخرجة من كلا مشفري النص في Qwen2.5-VL وCLIP لإنشاء تمثيلات نصية شاملة لتوليد الصور.
prepare_latents
< source >( batch_size: intnum_channels_latents: int = 16height: int = 1024width: int = 1024dtype: typing.Optional[torch.dtype] = Nonedevice: typing.Optional[torch.device] = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = None ) → torch.Tensor
المعاملات
- batch_size (int) — عدد الصور التي سيتم توليدها
- num_channels_latents (int) — عدد القنوات في الفضاء الكامن
- height (int) — ارتفاع الصورة المولّدة
- width (int) — عرض الصورة المولّدة
- dtype (torch.dtype) — نوع البيانات للقيم الكامنة
- device (torch.device) — الجهاز الذي سيتم إنشاء المتغيرات الكامنة عليه
- generator (torch.Generator) — مولّد الأرقام العشوائية
- latents (torch.Tensor) — كامنات موجودة مسبقًا للاستخدام
يعيد
torch.Tensor
موتر كامن مُعدّ
جهّز متغيرات كامنة أولية لتوليد الصور من النص.
ينشئ هذا الأسلوب ضوضاء عشوائية
Kandinsky5I2IPipeline
فئة diffusers.Kandinsky5I2IPipeline
< source >( transformer: Kandinsky5Transformer3DModelvae: AutoencoderKLtext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2VLProcessortext_encoder_2: CLIPTextModeltokenizer_2: CLIPTokenizerscheduler: FlowMatchEulerDiscreteScheduler )
المعاملات
- transformer (
Kandinsky5Transformer3DModel) — نموذج Transformer مشروط لإزالة الضوضاء من كامنات الصورة المُرمّزة. - vae (AutoencoderKL) — نموذج الترميز التبايني التلقائي black-forest-labs/FLUX.1-dev (vae) لتشفير وفك تشفير مقاطع الفيديو إلى تمثيلات كامنة ومنها.
- text_encoder (
Qwen2_5_VLForConditionalGeneration) — مُشفِّر نص ثابت Qwen2.5-VL. - tokenizer (
AutoProcessor) — مُقسِّم لـ Qwen2.5-VL. - text_encoder_2 (
CLIPTextModel) — نموذج CLIP مجمّد، تحديداً النسخة clip-vit-large-patch14. - tokenizer_2 (
CLIPTokenizer) — مُقسِّم لـ CLIP. - scheduler (FlowMatchEulerDiscreteScheduler) —
جدول زمني يُستخدم بالاقتران مع
transformerلإزالة الضوضاء من كائنات الصورة المُرمّزة.
خط أنابيب لتوليد الصور من صورة باستخدام Kandinsky 5.0.
يرث هذا النموذج من DiffusionPipeline. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة المُنفَّذة لجميع خطوط الأنابيب (التنزيل، الحفظ، التشغيل على جهاز معين، إلخ).
__call__
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]prompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50guidance_scale: float = 3.5num_images_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds_qwen: typing.Optional[torch.Tensor] = Noneprompt_embeds_clip: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_qwen: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_clip: typing.Optional[torch.Tensor] = Noneprompt_cu_seqlens: typing.Optional[torch.Tensor] = Nonenegative_prompt_cu_seqlens: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int, NoneType], diffusers.callbacks.PipelineCallback | diffusers.callbacks.MultiPipelineCallbacks]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 1024 ) → ~KandinskyImagePipelineOutput or tuple
المعاملات
- image (
PipelineImageInput) — الصورة المدخلة التي تُشترط عليها عملية التوليد. يجب أن تكون صورة، أو قائمة من الصور، أوtorch.Tensor. - prompt (
strأوlist[str]، اختياري) — الموجّه أو الموجّهات التي تُوجّه توليد الصورة. إذا لم يُعرَّف، فمرّرprompt_embedsبدلاً من ذلك. - negative_prompt (
strأوlist[str]، اختياري) — الموجّه أو الموجّهات التي يجب تجنّبها أثناء توليد الصورة. إذا لم يُعرَّف، فمرّرnegative_prompt_embedsبدلاً من ذلك. يُتجاهل عند عدم استخدام التوجيه (guidance_scale<1). - height (
int) — ارتفاع الصورة المولّدة بالبكسل. - width (
int) — عرض الصورة المولّدة بالبكسل. - num_inference_steps (
int، القيمة الافتراضية50) — عدد خطوات إزالة الضوضاء. - guidance_scale (
float، القيمة الافتراضية5.0) — مقياس التوجيه كما هو مُعرَّف في التوجيه الحر من التصنيف. - num_images_per_prompt (
int، اختياري، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه. - generator (
torch.Generatorأوlist[torch.Generator]، اختياري) — مولّد torch لجعل التوليد حتميًا. - latents (
torch.Tensor، اختياري) — كائنات latents ضجيجية مُولّدة مسبقًا. - prompt_embeds_qwen (
torch.Tensor، اختياري) — تضمينات نصية Qwen مُولّدة مسبقًا. - prompt_embeds_clip (
torch.Tensor، اختياري) — تضمينات نصية CLIP مُولّدة مسبقًا. - negative_prompt_embeds_qwen (
torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا لنموذج Qwen. - negative_prompt_embeds_clip (
torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا بواسطة CLIP. - prompt_cu_seqlens (
torch.Tensor، اختياري) — أطوال التسلسل التراكمية المُولَّدة مسبقًا للموجّه الإيجابي في Qwen. - negative_prompt_cu_seqlens (
torch.Tensor، اختياري) — أطوال التسلسل التراكمية المُولَّدة مسبقًا لـ Qwen negative prompt. - output_type (
str، اختياري، الافتراضي"pil") — صيغة مخرجات الصورة المولّدة. - return_dict (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاعKandinskyImagePipelineOutputأم لا. - callback_on_step_end (
Callable،PipelineCallback،MultiPipelineCallbacks، اختياري) — دالة تُستدعى في نهاية كل خطوة إزالة ضوضاء. - callback_on_step_end_tensor_inputs (
List, اختياري) — قائمة مدخلات المصفوفات لدالةcallback_on_step_end. - max_sequence_length (
int، القيمة الافتراضية1024) — الحد الأقصى لطول التسلسل لتشفير النص والصورة في qwen. يجب أن يكون أقل من 1024
يعيد
~KandinskyImagePipelineOutput أو tuple
إذا كان return_dict هو True، يُعاد KandinskyImagePipelineOutput، وإلا يُعاد tuple يكون عنصره الأول قائمة بالصور المولّدة.
دالة الاستدعاء call لخط الأنابيب pipeline لتوليد الصور من الصور.
أمثلة:
>>> import torch
>>> from diffusers import Kandinsky5I2IPipeline
>>> # Available models:
>>> # kandinskylab/Kandinsky-5.0-I2I-Lite-sft-Diffusers
>>> # kandinskylab/Kandinsky-5.0-I2I-Lite-pretrain-Diffusers
>>> model_id = "kandinskylab/Kandinsky-5.0-I2I-Lite-sft-Diffusers"
>>> pipe = Kandinsky5I2IPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16)
>>> pipe = pipe.to("cuda")
>>> prompt = "A cat and a dog baking a cake together in a kitchen."
>>> output = pipe(
... prompt=prompt,
... negative_prompt="",
... height=1024,
... width=1024,
... num_inference_steps=50,
... guidance_scale=3.5,
... ).frames[0]check_inputs
< source >( promptnegative_promptimageheightwidthprompt_embeds_qwen = Noneprompt_embeds_clip = Nonenegative_prompt_embeds_qwen = Nonenegative_prompt_embeds_clip = Noneprompt_cu_seqlens = Nonenegative_prompt_cu_seqlens = Nonecallback_on_step_end_tensor_inputs = Nonemax_sequence_length = None )
المعاملات
- prompt — موجه الإدخال
- negative_prompt — موجه سلبي للإرشاد
- image — صورة الإدخال للتكييف
- height — ارتفاع الصورة
- width — عرض الصورة
- prompt_embeds_qwen — تمثيلات موجه Qwen محسوبة مسبقًا
- prompt_embeds_clip — تمثيلات موجهات CLIP محسوبة مسبقًا
- negative_prompt_embeds_qwen — تمثيلات سلبية مُسبقة الحساب لـ Qwen
- negative_prompt_embeds_clip — تمثيلات سلبية مُسبقة الحساب لـ CLIP
- prompt_cu_seqlens — أطوال التسلسلات التراكمية المحسوبة مسبقًا للموجّه الإيجابي في Qwen
- negative_prompt_cu_seqlens — أطوال التسلسلات التراكمية المحسوبة مسبقًا لـ Qwen negative prompt
- callback_on_step_end_tensor_inputs — مدخلات تينسور الدالة الاستدعائية
يرفع
ValueError
ValueError— إذا كانت المدخلات غير صالحة
تحقّق من معاملات الإدخال للخطّ الأنابيب.
encode_prompt
< source >( prompt: str | list[str]image: Tensornum_images_per_prompt: int = 1max_sequence_length: int = 1024device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None ) → tuple[torch.Tensor, torch.Tensor, torch.Tensor]
المعاملات
- prompt (
strأوlist[str]) — الموجّه الذي سيتم ترميزه. - num_images_per_prompt (
int، اختياري، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه. - max_sequence_length (
int، اختياري، القيمة الافتراضية 1024) — الحد الأقصى لطول التسلسل لتشفير النص. يجب أن يكون أقل من 1024 - device (
torch.device، اختياري) — جهاز Torch. - dtype (
torch.dtype، اختياري) — نوع البيانات في Torch.
يعيد
tuple[torch.Tensor, torch.Tensor, torch.Tensor]
- تضمينات نص Qwen ذات الشكل (batch_size * num_images_per_prompt, sequence_length, embedding_dim)
- تضمينات CLIP المجمّعة ذات الشكل (batch_size * num_images_per_prompt, clip_embedding_dim)
- الأطوال التراكمية للتسلسلات (
cu_seqlens) لتضمينات Qwen من الشكل (batch_size * num_images_per_prompt + 1,)
يقوم بتشفير موجه واحد (إيجابي أو سلبي) إلى حالات مخفية لمشفّر النص.
تجمع هذه الطريقة بين التضمينات (embeddings) المستخرجة من كلا مشفري النص في Qwen2.5-VL وCLIP لإنشاء تمثيلات نصية شاملة لتوليد الصور.
prepare_latents
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]batch_size: intnum_channels_latents: int = 16height: int = 1024width: int = 1024dtype: typing.Optional[torch.dtype] = Nonedevice: typing.Optional[torch.device] = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = None ) → torch.Tensor
المعاملات
- image (PipelineImageInput) — الصورة المُدخلة التي تُشترط عليها عملية التوليد
- batch_size (int) — عدد الصور التي سيتم توليدها
- num_channels_latents (int) — عدد القنوات في الفضاء الكامن
- height (int) — ارتفاع الصورة المولّدة
- width (int) — عرض الصورة المولّدة
- dtype (torch.dtype) — نوع البيانات للقيم الكامنة
- device (torch.device) — الجهاز الذي سيتم إنشاء المتغيرات الكامنة عليه
- generator (torch.Generator) — مولّد الأرقام العشوائية
- latents (torch.Tensor) — كامنات موجودة مسبقًا للاستخدام
يعيد
torch.Tensor
موتر كامن مُعدّ مع صورة مُرمّزة
جهّز متغيرات كامنة أولية لتوليد الصور من الصور.
ينشئ هذا الأسلوب ضوضاء عشوائية كامنة مع صورة مشفرة،
الاستشهاد
@misc{kandinsky2025,
author = {Alexander Belykh and Alexander Varlamov and Alexey Letunovskiy and Anastasia Aliaskina and Anastasia Maltseva and Anastasiia Kargapoltseva and Andrey Shutkin and Anna Averchenkova and Anna Dmitrienko and Bulat Akhmatov and Denis Dimitrov and Denis Koposov and Denis Parkhomenko and Dmitrii and Ilya Vasiliev and Ivan Kirillov and Julia Agafonova and Kirill Chernyshev and Kormilitsyn Semen and Lev Novitskiy and Maria Kovaleva and Mikhail Mamaev and Mikhailov and Nikita Kiselev and Nikita Osterov and Nikolai Gerasimenko and Nikolai Vaulin and Olga Kim and Olga Vdovchenko and Polina Gavrilova and Polina Mikhailova and Tatiana Nikulina and Viacheslav Vasilev and Vladimir Arkhipkin and Vladimir Korviakov and Vladimir Polovnikov and Yury Kolabushin},
title = {Kandinsky 5.0: A family of diffusion models for Video & Image generation},
howpublished = {\url{https://github.com/kandinskylab/Kandinsky-5}},
year = 2025
}