Buckets:

hf-doc-build/doc / diffusers /v0.43.0 /ar /api /models /controlnet_flux.md
mishig's picture
|
download
raw
7.08 kB

FluxControlNetModel

FluxControlNetModel هو تطبيق لـ ControlNet مخصص لنموذج Flux.1.

تم تقديم نموذج ControlNet في Adding Conditional Control to Text-to-Image Diffusion Models بواسطة Lvmin Zhang وAnyi Rao وManeesh Agrawala. يوفر هذا النموذج درجة أكبر من التحكم في توليد الصور من النص من خلال اشتراط النموذج على مدخلات إضافية مثل خرائط الحواف، وخرائط العمق، وخرائط التقسيم، ونقاط المفاتيح لكشف الوضعية.

ملخص الورقة البحثية هو:

نقدّم ControlNet، وهو معمارية شبكة عصبية لإضافة ضوابط شرطيّة مكانية إلى نماذج الانتشار النصّية-إلى-صورة الكبيرة المُدرَّبة مسبقًا. تقوم ControlNet بقفل نماذج الانتشار الكبيرة الجاهزة للإنتاج، وتعيد استخدام طبقات الترميز العميقة والقوية المُدرَّبة مسبقًا على مليارات الصور كهيكل أساسي قوي لتعلّم مجموعة متنوعة من الضوابط الشرطيّة. يتم ربط المعمارية العصبية بـ "التحويلات الصفرية" (طبقات تحويل مُهيّأة إلى الصفر) التي تُنمّي المعاملات تدريجيًا من الصفر وتضمن عدم تأثير أي ضوضاء ضارة على الضبط الدقيق. اختبرنا ضوابط شرطيّة متنوعة، مثل الحواف، والعمق، والتجزئة، ووضع الجسم البشري، وغيرها، باستخدام Stable Diffusion، باستخدام شرط واحد أو عدة شروط، مع وجود موجهات نصية أو بدونها. نُظهر أنّ تدريب نماذج ControlNet متين مع مجموعات البيانات الصغيرة (<50k) والكبيرة (>1m). تُظهر النتائج الواسعة أنّ ControlNet قد يسهّل تطبيقات أوسع للتحكم في نماذج انتشار الصور.

التحميل من التنسيق الأصلي

بشكل افتراضي، يجب تحميل FluxControlNetModel باستخدام from_pretrained().

from diffusers import FluxControlNetPipeline
from diffusers.models import FluxControlNetModel, FluxMultiControlNetModel

controlnet = FluxControlNetModel.from_pretrained("InstantX/FLUX.1-dev-Controlnet-Canny")
pipe = FluxControlNetPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", controlnet=controlnet)

controlnet = FluxControlNetModel.from_pretrained("InstantX/FLUX.1-dev-Controlnet-Canny")
controlnet = FluxMultiControlNetModel([controlnet])
pipe = FluxControlNetPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", controlnet=controlnet)

FluxControlNetModel[[diffusers.FluxControlNetModel]]

diffusers.FluxControlNetModel[[diffusers.FluxControlNetModel]]

diffusers.FluxControlNetModel(patch_size: int = 1, in_channels: int = 64, num_layers: int = 19, num_single_layers: int = 38, attention_head_dim: int = 128, num_attention_heads: int = 24, joint_attention_dim: int = 4096, pooled_projection_dim: int = 768, guidance_embeds: bool = False, axes_dims_rope: list[int] = [16, 56, 56], num_mode: int = None, conditioning_embedding_channels: int = None)

المصدر

forward[[diffusers.FluxControlNetModel.forward]]

forward(hidden_states: Tensor, controlnet_cond: Tensor, controlnet_mode: Tensor = None, conditioning_scale: float = 1.0, encoder_hidden_states: Tensor = None, pooled_projections: Tensor = None, timestep: LongTensor = None, img_ids: Tensor = None, txt_ids: Tensor = None, guidance: Tensor = None, joint_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)

المصدر

المعاملات:

hidden_states (torch.FloatTensor من الشكل (batch size, channel, height, width)) : مدخلات hidden_states.

controlnet_cond (torch.Tensor) : متجه الإدخال الشرطي ذو الشكل (batch_size, sequence_length, hidden_size).

controlnet_mode (torch.Tensor) : متجه الوضع (mode tensor) ذو الشكل (batch_size, 1).

conditioning_scale (float، القيمة الافتراضية 1.0) : معامل المقياس لمخرجات ControlNet.

encoder_hidden_states (torch.FloatTensor من الشكل (batch size, sequence_len, embed_dims)) : التضمينات الشرطية (التضمينات المحسوبة من الشروط المدخلة مثل الأوامر) للاستخدام.

pooled_projections (torch.FloatTensor من الشكل (batch_size, projection_dim)) : تمثيلات مُسقطَة من تمثيلات شروط الإدخال.

timestep ( torch.LongTensor) : يُستخدم للإشارة إلى خطوة إزالة الضوضاء.

img_ids (torch.Tensor) : المعرّفات الموضعية لرموز الصورة.

txt_ids (torch.Tensor) : المعرّفات الموضعية لرموز النص.

guidance (torch.Tensor، اختياري) : متجه مقياس التوجيه المستخدم في النسخ المُقطّرة بالتوجيه من النموذج.

joint_attention_kwargs (dict، اختياري) : قاموس kwargs يُمرَّر إلى AttentionProcessor إذا تم تحديده، كما هو معرَّف تحت self.processor في diffusers.models.attention_processor.

return_dict (bool، اختياري، القيمة الافتراضية True) : ما إذا كان يجب إرجاع ~models.transformer_2d.Transformer2DModelOutput بدلاً من tuple عادي.

يعيد:

إذا كان return_dict صحيحًا، يُعاد ~models.transformer_2d.Transformer2DModelOutput، وإلا يُعاد tuple يكون عنصره الأول هو تينسور العينة.

طريقة FluxTransformer2DModel الأمامية.

FluxControlNetOutput[[diffusers.models.controlnets.FluxControlNetOutput]]

diffusers.models.controlnets.FluxControlNetOutput[[diffusers.models.controlnets.FluxControlNetOutput]]

diffusers.models.controlnets.FluxControlNetOutput(controlnet_block_samples: tuple[torch.Tensor], controlnet_single_block_samples: tuple[torch.Tensor])

المصدر

Xet Storage Details

Size:
7.08 kB
·
Xet hash:
f2e8e88cf0634f8df48d58b1308bd5fbb4aed4e9e1b9194eef073b901acc13dd

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.