Diffusers documentation
LoRA
LoRA
تُعد LoRA طريقة تدريب سريعة وخفيفة تُدخل وتدرّب عددًا أصغر بكثير من المعاملات بدلاً من جميع معاملات النموذج. ينتج عن ذلك ملف أصغر (حوالي 100 ميغابايت) ويجعل من السهل تدريب نموذج بسرعة ليتعلم مفهومًا جديدًا. عادةً ما تُحمَّل أوزان LoRA في مُزيل الضوضاء أو مُشفّر النص أو كليهما. يتوافق مُزيل الضوضاء عادةً مع UNet (مثل UNet2DConditionModel) أو Transformer (مثل SD3Transformer2DModel). توجد عدة فئات لتحميل أوزان LoRA:
StableDiffusionLoraLoaderMixinيوفر دوالًا لتحميل أوزان LoRA وإلغاء تحميلها، ودمجها وفك دمجها، وتمكينها وتعطيلها، بالإضافة إلى دوال أخرى لإدارة أوزان LoRA. يمكن استخدام هذه الفئة مع أي نموذج.StableDiffusionXLLoraLoaderMixinهي نسخة Stable Diffusion (SDXL) من فئةStableDiffusionLoraLoaderMixinلتحميل وحفظ أوزان LoRA. لا يمكن استخدامها إلا مع نموذج SDXL.SD3LoraLoaderMixinيوفر وظائف مشابهة لـ Stable Diffusion 3.FluxLoraLoaderMixinيوفر وظائف مشابهة لـ Flux.CogVideoXLoraLoaderMixinيوفر وظائف مشابهة لـ CogVideoX.Mochi1LoraLoaderMixinيوفر وظائف مشابهة لـ Mochi.AuraFlowLoraLoaderMixinيوفر وظائف مشابهة لـ AuraFlow.LTXVideoLoraLoaderMixinيوفر وظائف مشابهة لـ LTX-Video.SanaLoraLoaderMixinيوفر وظائف مشابهة لـ Sana.HeliosLoraLoaderMixinيوفر وظائف مشابهة لـ HunyuanVideo.HunyuanVideoLoraLoaderMixinيوفر وظائف مشابهة لـ HunyuanVideo.Lumina2LoraLoaderMixinيوفر وظائف مشابهة لـ Lumina2.WanLoraLoaderMixinيوفر وظائف مشابهة لـ Wan.SkyReelsV2LoraLoaderMixinيوفر وظائف مشابهة لـ SkyReels-V2.CogView4LoraLoaderMixinيوفر وظائف مشابهة لـ CogView4.AmusedLoraLoaderMixinمخصص لـAmusedPipeline.AnimaLoraLoaderMixinيوفر وظائف مشابهة لـ Anima.AceStepLoraLoaderMixinيوفر وظائف مشابهة لـ ACE-Step.HiDreamImageLoraLoaderMixinيوفر وظائف مشابهة لـ HiDream ImageQwenImageLoraLoaderMixinيوفر وظائف مشابهة لـ Qwen Image.ZImageLoraLoaderMixinيوفر وظائف مشابهة لـ Z-Image.Flux2LoraLoaderMixinيوفر وظائف مشابهة لـ Flux2.ErnieImageLoraLoaderMixinيوفر وظائف مشابهة لـ Ernie-Image.LTX2LoraLoaderMixinيوفر وظائف مشابهة لـ Flux2.MiniMaxH3LoraLoaderMixinيوفر وظائف مشابهة لـ MiniMax-H3.PikaH3FlexLoraLoaderMixinيوفر وظائف مشابهة لـ Pika H3 Flex.RFD4ProteinaLoraLoaderMixinيوفر وظائف مشابهة لـ RFD4-Proteína.BriaFibo2LoraLoaderMixinيوفر وظائف مشابهة لـ fibo-2.LoraBaseMixinيوفر فئة أساسية تتضمن عدة طرق مساعدة لدمج LoRAs وإلغاء الدمج والتفريغ وغيرها.
للتعرف على المزيد حول كيفية تحميل أوزان LoRA، راجد دليل تحميل LoRA.
RFD4ProteinaLoraLoaderMixin
حمّل طبقات LoRA في RFD4ProteinaTransformer.
يُقرَن مُشفِّر-المُفكِّك (autoencoder) مع نقطة الفحص (checkpoint) الخاصة بإزالة الضوضاء، ولا يخضع للتكيّف، لذا فإن المحوّل (transformer) هو الوحدة القابلة للتحميل الوحيدة.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
LoraBaseMixin
فئة مساعدة للتعامل مع LoRAs.
delete_adapters
< source >( adapter_names: list[str] | str )
احذف طبقات LoRA الخاصة بالمُكيّف من خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_names="cinematic"
)
pipeline.delete_adapters("cinematic")يعطّل طبقات LoRA النشطة في خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.disable_lora()يُفعّل طبقات LoRA النشطة في خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.enable_lora()enable_lora_hotswap
< source >( **kwargs )
استبدل المُكيِّفات (Adapters) دون الحاجة إلى إعادة تجميع النموذج أو في حال كانت رتب المُكيِّفات المُحمَّلة مختلفة.
fuse_lora
< source >( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
المعاملات
- components — (
list[str]): قائمة بالمكونات القابلة لحقن LoRA لدمج LoRAs فيها. - lora_scale (
float، القيمة الافتراضية 1.0) — يتحكم في مقدار تأثير معاملات LoRA على المخرجات. - safe_fusing (
bool، القيمة الافتراضيةFalse) — ما إذا كان يجب التحقق من قيم NaN في الأوزان المدمجة قبل الدمج، وعدم دمجها إذا كانت القيم NaN. - adapter_names (
list[str]، اختياري) — أسماء المُكيّفات (Adapters) التي سيتم استخدامها للدمج. إذا لم يتم تمرير أي شيء، فسيتم دمج جميع المُكيّفات النشطة.
يُدمج معاملات LoRA في المعاملات الأصلية للكتل المقابلة.
مثال:
from diffusers import DiffusionPipeline
import torch
pipeline = DiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights("nerijs/pixel-art-xl", weight_name="pixel-art-xl.safetensors", adapter_name="pixel")
pipeline.fuse_lora(lora_scale=0.7)يحصل على قائمة المُكيِّفات النشطة حاليًا.
يحصل على القائمة الحالية لجميع المحوِّلات المتاحة في خط المعالجة.
set_adapters
< source >( adapter_names: list[str] | stradapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None )
المعاملات
- adapter_names (
list[str]أوstr) — أسماء المُكيِّفات (adapters) المراد استخدامها. - adapter_weights (
floatأوdictأوlist، اختياري) — أوزان المُكيّفات. يُقيّم العدد القياسي جميع المكونات المتوافقة مع LoRA. تُربط القاموس أسماء المكونات (مثل"unet"أو"transformer"أو"text_encoder") بالأوزان؛ ويمكن أن يكون وزن مكوّن UNet قاموسًا متداخلًا لمقاييس الكتل. يُطبَّق العدد القياسي أو القاموس الواحد على كل مُكيّف. يجب أن تحتوي القائمة على عدد قياسي واحد أو قاموس أوNoneلكل مُكيّف، بترتيبadapter_names. تتخذNoneالقيمة الافتراضية1.0، بما في ذلك إدخالات القائمة وأوزان المكونات. وتتخذ المكونات غير المحددة وكتل UNet أيضًا القيمة الافتراضية1.0.
اضبط المُكيِّفات النشطة حاليًا للاستخدام في خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.load_lora_weights(
"troveski/sdxl-lora", weight_name="pytorch_lora_weights.safetensors", adapter_name="illustration"
)
pipeline.set_adapters(["cinematic", "illustration"], adapter_weights=[0.5, 0.5])
pipeline.set_adapters(
["cinematic", "illustration"],
adapter_weights=[{"unet": 0.5}, {"unet": 0.8, "text_encoder": 0.6}],
)set_lora_device
< source >( adapter_names: list[str]device: torch.device | str | int )
ينقل وحدات LoRA المدرجة في adapter_names إلى جهاز الهدف. يُعدّ هذا مفيدًا لتحميل وحدة LoRA على المعالج المركزي (CPU) في حال كنت ترغب في تحميل عدة وحدات تكيفية وتحرير بعض ذاكرة وحدة معالجة الرسوميات (GPU).
بعد نقل محولات LoRA إلى وحدة المعالجة المركزية (CPU)، طالما أن بقية النموذج لا تزال على وحدة معالجة الرسوميات (GPU)، لم يعد من الممكن استخدام محولات LoRA للاستدلال، لأن ذلك سيؤدي إلى عدم تطابق الأجهزة. تذكّر بإعادة ضبط الجهاز إلى وحدة معالجة الرسوميات (GPU) قبل استخدام تلك محولات LoRA للاستدلال.
>>> pipe.load_lora_weights(path_1, adapter_name="adapter-1")
>>> pipe.load_lora_weights(path_2, adapter_name="adapter-2")
>>> pipe.set_adapters("adapter-1")
>>> image_1 = pipe(**kwargs)
>>> # switch to adapter-2, offload adapter-1
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cuda:0")
>>> pipe.set_adapters("adapter-2")
>>> image_2 = pipe(**kwargs)
>>> # switch back to adapter-1, offload adapter-2
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cuda:0")
>>> pipe.set_adapters("adapter-1")
>>> ...unfuse_lora
< source >( components: list[str] | None = None**kwargs )
المعاملات
- components (
list[str]) — قائمة بالمكونات القابلة لحقن LoRA لإزالة LoRA منها. - unfuse_unet (
bool، القيمة الافتراضيةTrue) — ما إذا كان سيتم فك دمج معاملات LoRA الخاصة بـ UNet. - unfuse_text_encoder (
bool، القيمة الافتراضيةTrue) — ما إذا كان سيتم فك دمج معاملات LoRA الخاصة بمشفّر النص. إذا لم يكن مشفّر النص قد خضع لتعديل قرداني (monkey-patch) بمعاملات LoRA، فلن يكون لهذا الإجراء أي تأثير.
يعكس تأثير pipe.fuse_lora().
يفكك معاملات LoRA.
write_lora_layers
< source >( state_dict: dict[str, torch.Tensor]save_directory: stris_main_process: boolweight_name: strsave_function: Callablesafe_serialization: boollora_adapter_metadata: dict | None = None )
يكتب حالة طبقات LoRA (مع البيانات الوصفية اختيارياً) على القرص.
StableDiffusionLoraLoaderMixin
حمّل طبقات LoRA إلى نموذج Stable Diffusion UNet2DConditionModel وCLIPTextModel.
load_lora_into_text_encoder
< source >( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
المعاملات
- state_dict (
dict) — قائمة حالة قياسية تحتوي على معاملات طبقات lora. يجب أن يبدأ المفتاح ببادئة إضافيةtext_encoderللتمييز بين طبقات lora الخاصة بـ unet. - network_alphas (
dict[str, float]) — قيمة ألفا للشبكة المستخدمة للتعلم المستقر ومنع النقص. تحمل هذه القيمة نفس معنى الخيار--network_alphaفي سكربت المدرب kohya-ss. راجع هذا الرابط. - text_encoder (
CLIPTextModel) — نموذج ترميز النص الذي سيتم تحميل طبقات LoRA فيه. - prefix (
str) — البادئة المتوقعة لـtext_encoderفيstate_dict. - lora_scale (
float) — مقدار تحجيم مخرج طبقة lora الخطية قبل إضافته إلى مخرج طبقة lora العادية. - adapter_name (
str، اختياري) — اسم المُكيّف الذي سيُستخدم للإشارة إلى نموذج المُكيّف المُحمّل. إذا لم يُحدَّد، فسيُستخدمdefault_{i}حيث i هو العدد الإجمالي للمُكيّفات التي يتم تحميلها. - low_cpu_mem_usage (
bool، اختياري) — تسريع تحميل النموذج من خلال تحميل أوزان LoRA المُدرَّبة مسبقًا فقط دون تهيئة الأوزان العشوائية. - hotswap (
bool، اختياري) — انظر إلى load_lora_weights(). - metadata (
dict) — بيانات وصفية اختيارية لمُكيّف LoRA. عند تقديمها، لن تُشتقّ حُججLoraConfigالخاصة بـpeftمن قاموس الحالة.
سيؤدي هذا إلى تحميل طبقات LoRA المحددة في state_dict إلى text_encoder
load_lora_into_unet
< source >( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
المعاملات
- state_dict (
dict) — قائمة حالة قياسية تحتوي على معاملات طبقات lora. يمكن أن تكون المفاتيح إما مفهرسة مباشرةً في unet أو مُسبوقة ببادئة إضافيةunetيمكن استخدامها للتمييز بين طبقات lora في مُشفّر النص. - network_alphas (
dict[str, float]) — قيمة ألفا للشبكة المستخدمة للتعلم المستقر ومنع النقص. تحمل هذه القيمة نفس معنى الخيار--network_alphaفي سكربت المدرب kohya-ss. راجع هذا الرابط. - unet (
UNet2DConditionModel) — نموذج UNet الذي سيتم تحميل طبقات LoRA فيه. - adapter_name (
str، اختياري) — اسم المُكيّف الذي سيُستخدم للإشارة إلى نموذج المُكيّف المُحمّل. إذا لم يُحدَّد، فسيُستخدمdefault_{i}حيث i هو العدد الإجمالي للمُكيّفات التي يتم تحميلها. - low_cpu_mem_usage (
bool، اختياري) — تسريع تحميل النموذج من خلال تحميل أوزان LoRA المُدرَّبة مسبقًا فقط دون تهيئة الأوزان العشوائية. - hotswap (
bool، اختياري) — انظر إلى load_lora_weights(). - metadata (
dict) — بيانات وصفية اختيارية لمُكيّف LoRA. عند تقديمها، لن تُشتقّ حُججLoraConfigالخاصة بـpeftمن قاموس الحالة.
سيؤدي هذا إلى تحميل طبقات LoRA المحددة في state_dict داخل unet.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
المعاملات
- pretrained_model_name_or_path_or_dict (
strأوos.PathLikeأوdict) — انظر إلى lora_state_dict(). - adapter_name (
str، اختياري) — اسم المُكيّف الذي سيُستخدم للإشارة إلى نموذج المُكيّف المُحمّل. إذا لم يُحدَّد، فسيُستخدمdefault_{i}حيث i هو العدد الإجمالي للمُكيّفات التي يتم تحميلها. - low_cpu_mem_usage (
bool، اختياري) — تسريع تحميل النموذج من خلال تحميل أوزان LoRA المُدرَّبة مسبقًا فقط دون تهيئة الأوزان العشوائية. - hotswap (
bool, اختياري) — القيمة الافتراضية هيFalse. ما إذا كان يجب استبدال مُكيّف (LoRA) موجود بمُكيّف جديد تم تحميله في مكانه. وهذا يعني أنه، بدلاً من تحميل مُكيّف إضافي، سيتم أخذ أوزان المُكيّف الحالي واستبدالها بأوزان المُكيّف الجديد. يمكن أن يكون هذا أسرع وأكثر كفاءة في استخدام الذاكرة. ومع ذلك، فإن الميزة الرئيسية للاستبدال السريع هي أنه عند تجميع النموذج باستخدام torch.compile، لا يتطلب تحميل المُكيّف الجديد إعادة تجميع النموذج. عند استخدام الاستبدال السريع، يجب أن يكونadapter_nameاسم مُكيّف تم تحميله بالفعل.إذا كان للمُكيّف الجديد والمُكيّف القديم رتب مختلفة و/أو قيم LoRA alphas مختلفة (أي معاملات التوسيع)، فستحتاج إلى استدعاء طريقة إضافية قبل تحميل المُكيّف:
حمّل أوزان LoRA المحددة في pretrained_model_name_or_path_or_dict إلى self.unet وself.text_encoder.
تُمرَّر جميع معاملات kwargs إلى self.lora_state_dict.
راجع lora_state_dict() لمزيد من التفاصيل حول كيفية تحميل حالة القاموس.
راجع load_lora_into_unet() لمزيد من التفاصيل حول كيفية تحميل قاموس الحالة في self.unet.
راجع load_lora_into_text_encoder() لمزيد من التفاصيل حول كيفية تحميل حالة القاموس في self.text_encoder.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
المعاملات
- pretrained_model_name_or_path_or_dict (
strأوos.PathLikeأوdict) — يمكن أن يكون أحد ما يلي:- سلسلة نصية، وهي معرف النموذج (على سبيل المثال
google/ddpm-celebahq-256) لنموذج مُدرَّب مسبقًا مستضاف على الـ Hub. - مسار إلى مجلد (على سبيل المثال
./my_model_directory) يحتوي على أوزان النموذج المحفوظة باستخدام ModelMixin.save_pretrained(). - A torch state dict.
- سلسلة نصية، وهي معرف النموذج (على سبيل المثال
- cache_dir (
str | os.PathLike، اختياري) — المسار إلى مجلد حيث يتم تخزين إعدادات النموذج المُدرَّب مسبقًا المُحمَّل مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي. - force_download (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة. - proxies (
dict[str, str]، اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. تُستخدم هذه الوكلاء في كل طلب. - local_files_only (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان سيتم تحميل أوزان النموذج وملفات الإعداد المحلية فقط أم لا. إذا تم ضبطه علىTrue، فلن يتم تنزيل النموذج من Hub. - token (
strأو bool، اختياري) — الرمز الذي يُستخدم كتفويض حامل HTTP للملفات البعيدة. إذا كانTrue، يُستخدم الرمز المولّد منdiffusers-cli login(المخزّن في~/.huggingface). - revision (
str، اختياري، القيمة الافتراضية"main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة Git. - subfolder (
str، اختياري، الافتراضي"") — موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا. - weight_name (
str، اختياري، القيمة الافتراضية هي None) — اسم ملف state dict المُسلسَل. - return_lora_metadata (
bool، اختياري، القيمة الافتراضية False) — عند التفعيل، يُعاد أيضًا بيانات الوصف الخاصة بمحوّل LoRA، والتي تُوجد عادةً في state dict.
إرجاع حالة القاموس (state dict) لأوزان lora وقيم الشبكة ألفا (network alphas).
> ندعم تحميل نقاط التفتيش LoRA بتنسيق A1111 بسعة محدودة. > > هذه الوظيفة تجريبية وقد تتغير في المستقبل.
save_lora_weights
< source >( save_directory: str | os.PathLikeunet_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Trueunet_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )
المعاملات
- save_directory (
strأوos.PathLike) — المجلد الذي سيتم حفظ معاملات LoRA فيه. سيتم إنشاؤه إذا لم يكن موجودًا. - unet_lora_layers (
dict[str, torch.nn.Module]أوdict[str, torch.Tensor]) — قاموس الحالة (State dict) لطبقات LoRA المقابلة لـunet. - text_encoder_lora_layers (
dict[str, torch.nn.Module]أوdict[str, torch.Tensor]) — قاموس الحالة (State dict) لطبقات LoRA المقابلة لـtext_encoder. يجب تمرير قاموس حالة LoRA الخاص بمشفر النص بشكل صريح لأنه يأتي من 🤗 Transformers. - is_main_process (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كانت العملية التي تستدعي هذا هي العملية الرئيسية أم لا. مفيد أثناء التدريب الموزع عندما تحتاج إلى استدعاء هذه الدالة على جميع العمليات. في هذه الحالة، اضبطis_main_process=Trueعلى العملية الرئيسية فقط لتجنب حالات السباق. - save_function (
Callable) — الدالة المستخدمة لحفظ قاموس الحالة. مفيدة أثناء التدريب الموزع عندما تحتاج إلى استبدالtorch.saveبطريقة أخرى. يمكن ضبطها باستخدام متغير البيئةDIFFUSERS_SAVE_MODE. - safe_serialization (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم حفظ النموذج باستخدامsafetensorsأو بالطريقة التقليدية الخاصة بـ PyTorch باستخدامpickle. - unet_lora_adapter_metadata — بيانات الوصف (Metadata) الخاصة بمحوّل LoRA المرتبط بـ unet، والتي سيتم تسلسلها مع state dict.
- text_encoder_lora_adapter_metadata — بيانات الوصف (Metadata) الخاصة بمحوّل LoRA المرتبط بترميز النص، والتي سيتم تسلسلها مع قاموس الحالة (state dict).
احفظ معاملات LoRA المقابلة لـ UNet ومشفّر النص.
StableDiffusionXLLoraLoaderMixin
تحميل طبقات LoRA إلى Stable Diffusion XL UNet2DConditionModel وCLIPTextModel وCLIPTextModelWithProjection.
fuse_lora
< source >( components: list = ['unet', 'text_encoder', 'text_encoder_2']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_text_encoder
< source >( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
المعاملات
- state_dict (
dict) — قائمة حالة قياسية تحتوي على معاملات طبقات lora. يجب أن يبدأ المفتاح ببادئة إضافيةtext_encoderللتمييز بين طبقات lora الخاصة بـ unet. - network_alphas (
dict[str, float]) — قيمة ألفا للشبكة المستخدمة للتعلم المستقر ومنع النقص. تحمل هذه القيمة نفس معنى الخيار--network_alphaفي سكربت المدرب kohya-ss. راجع هذا الرابط. - text_encoder (
CLIPTextModel) — نموذج ترميز النص الذي سيتم تحميل طبقات LoRA فيه. - prefix (
str) — البادئة المتوقعة لـtext_encoderفيstate_dict. - lora_scale (
float) — مقدار تحجيم مخرج طبقة lora الخطية قبل إضافته إلى مخرج طبقة lora العادية. - adapter_name (
str، اختياري) — اسم المُكيّف الذي سيُستخدم للإشارة إلى نموذج المُكيّف المُحمّل. إذا لم يُحدَّد، فسيُستخدمdefault_{i}حيث i هو العدد الإجمالي للمُكيّفات التي يتم تحميلها. - low_cpu_mem_usage (
bool، اختياري) — تسريع تحميل النموذج من خلال تحميل أوزان LoRA المُدرَّبة مسبقًا فقط دون تهيئة الأوزان العشوائية. - hotswap (
bool، اختياري) — انظر إلى load_lora_weights(). - metadata (
dict) — بيانات وصفية اختيارية لمُكيّف LoRA. عند تقديمها، لن تُشتقّ حُججLoraConfigالخاصة بـpeftمن قاموس الحالة.
سيؤدي هذا إلى تحميل طبقات LoRA المحددة في state_dict إلى text_encoder
load_lora_into_unet
< source >( state_dictnetwork_alphasunetadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
المعاملات
- state_dict (
dict) — قائمة حالة قياسية تحتوي على معاملات طبقات lora. يمكن أن تكون المفاتيح إما مفهرسة مباشرةً في unet أو مُسبوقة ببادئة إضافيةunetيمكن استخدامها للتمييز بين طبقات lora في مُشفّر النص. - network_alphas (
dict[str, float]) — قيمة ألفا للشبكة المستخدمة للتعلم المستقر ومنع النقص. تحمل هذه القيمة نفس معنى الخيار--network_alphaفي سكربت المدرب kohya-ss. راجع هذا الرابط. - unet (
UNet2DConditionModel) — نموذج UNet الذي سيتم تحميل طبقات LoRA فيه. - adapter_name (
str، اختياري) — اسم المُكيّف الذي سيُستخدم للإشارة إلى نموذج المُكيّف المُحمّل. إذا لم يُحدَّد، فسيُستخدمdefault_{i}حيث i هو العدد الإجمالي للمُكيّفات التي يتم تحميلها. - low_cpu_mem_usage (
bool، اختياري) — تسريع تحميل النموذج من خلال تحميل أوزان LoRA المُدرَّبة مسبقًا فقط دون تهيئة الأوزان العشوائية. - hotswap (
bool، اختياري) — انظر إلى load_lora_weights(). - metadata (
dict) — بيانات وصفية اختيارية لمُكيّف LoRA. عند تقديمها، لن تُشتقّ حُججLoraConfigالخاصة بـpeftمن قاموس الحالة.
سيؤدي هذا إلى تحميل طبقات LoRA المحددة في state_dict داخل unet.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
المعاملات
- pretrained_model_name_or_path_or_dict (
strأوos.PathLikeأوdict) — يمكن أن يكون أحد ما يلي:- سلسلة نصية، وهي معرف النموذج (على سبيل المثال
google/ddpm-celebahq-256) لنموذج مُدرَّب مسبقًا مستضاف على الـ Hub. - مسار إلى مجلد (على سبيل المثال
./my_model_directory) يحتوي على أوزان النموذج المحفوظة باستخدام ModelMixin.save_pretrained(). - حالة torch.
- سلسلة نصية، وهي معرف النموذج (على سبيل المثال
- cache_dir (
str | os.PathLike، اختياري) — المسار إلى مجلد حيث يتم تخزين إعدادات النموذج المُدرَّب مسبقًا المُحمَّل مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي. - force_download (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة. - proxies (
dict[str, str]، اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. تُستخدم هذه الوكلاء في كل طلب. - local_files_only (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان سيتم تحميل أوزان النموذج وملفات الإعداد المحلية فقط أم لا. إذا تم ضبطه علىTrue، فلن يتم تنزيل النموذج من Hub. - token (
strأو bool، اختياري) — الرمز الذي يُستخدم كتفويض حامل HTTP للملفات البعيدة. إذا كانTrue، يُستخدم الرمز المولّد منdiffusers-cli login(المخزّن في~/.huggingface). - revision (
str، اختياري، القيمة الافتراضية"main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة Git. - subfolder (
str، اختياري، الافتراضي"") — موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا. - weight_name (
str، اختياري، القيمة الافتراضية هي None) — اسم ملف state dict المُسلسَل. - return_lora_metadata (
bool، اختياري، القيمة الافتراضية False) — عند التفعيل، يُعاد أيضًا بيانات الوصف الخاصة بمحوّل LoRA، والتي تُوجد عادةً في state dict.
إرجاع حالة القاموس (state dict) لأوزان lora وقيم الشبكة ألفا (network alphas).
> ندعم تحميل نقاط التفتيش LoRA بتنسيق A1111 بسعة محدودة. > > هذه الوظيفة تجريبية وقد تتغير في المستقبل.
save_lora_weights
< source >( save_directory: str | os.PathLikeunet_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Nonetext_encoder_2_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Trueunet_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = Nonetext_encoder_2_lora_adapter_metadata = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
SD3LoraLoaderMixin
حمّل طبقات LoRA إلى SD3Transformer2DModel وCLIPTextModel وCLIPTextModelWithProjection.
خاص بـ StableDiffusion3Pipeline.
fuse_lora
< source >( components: list = ['transformer', 'text_encoder', 'text_encoder_2']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_text_encoder
< source >( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
المعاملات
- state_dict (
dict) — قائمة حالة قياسية تحتوي على معاملات طبقات lora. يجب أن يبدأ المفتاح ببادئة إضافيةtext_encoderللتمييز بين طبقات lora الخاصة بـ unet. - network_alphas (
dict[str, float]) — قيمة ألفا للشبكة المستخدمة للتعلم المستقر ومنع النقص. تحمل هذه القيمة نفس معنى الخيار--network_alphaفي سكربت المدرب kohya-ss. راجع هذا الرابط. - text_encoder (
CLIPTextModel) — نموذج ترميز النص الذي سيتم تحميل طبقات LoRA فيه. - prefix (
str) — البادئة المتوقعة لـtext_encoderفيstate_dict. - lora_scale (
float) — مقدار تحجيم مخرج طبقة lora الخطية قبل إضافته إلى مخرج طبقة lora العادية. - adapter_name (
str، اختياري) — اسم المُكيّف الذي سيُستخدم للإشارة إلى نموذج المُكيّف المُحمّل. إذا لم يُحدَّد، فسيُستخدمdefault_{i}حيث i هو العدد الإجمالي للمُكيّفات التي يتم تحميلها. - low_cpu_mem_usage (
bool، اختياري) — تسريع تحميل النموذج من خلال تحميل أوزان LoRA المُدرَّبة مسبقًا فقط دون تهيئة الأوزان العشوائية. - hotswap (
bool، اختياري) — انظر إلى load_lora_weights(). - metadata (
dict) — بيانات وصفية اختيارية لمُكيّف LoRA. عند تقديمها، لن تُشتقّ حُججLoraConfigالخاصة بـpeftمن قاموس الحالة.
سيؤدي هذا إلى تحميل طبقات LoRA المحددة في state_dict إلى text_encoder
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Nonetext_encoder_2_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = Nonetext_encoder_2_lora_adapter_metadata = None )
راجع save_lora_weights() لمزيد من المعلومات.
unfuse_lora
< source >( components: list = ['transformer', 'text_encoder', 'text_encoder_2']**kwargs )
راجع unfuse_lora() لمزيد من التفاصيل.
FluxLoraLoaderMixin
حمّل طبقات LoRA إلى FluxTransformer2DModel، CLIPTextModel.
خاص بـ FluxPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
load_lora_into_text_encoder
< source >( state_dictnetwork_alphastext_encoderprefix = Nonelora_scale = 1.0adapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
المعاملات
- state_dict (
dict) — قائمة حالة قياسية تحتوي على معاملات طبقات lora. يجب أن يبدأ المفتاح ببادئة إضافيةtext_encoderللتمييز بين طبقات lora الخاصة بـ unet. - network_alphas (
dict[str, float]) — قيمة ألفا للشبكة المستخدمة للتعلم المستقر ومنع النقص. تحمل هذه القيمة نفس معنى الخيار--network_alphaفي سكربت المدرب kohya-ss. راجع هذا الرابط. - text_encoder (
CLIPTextModel) — نموذج ترميز النص الذي سيتم تحميل طبقات LoRA فيه. - prefix (
str) — البادئة المتوقعة لـtext_encoderفيstate_dict. - lora_scale (
float) — مقدار تحجيم مخرج طبقة lora الخطية قبل إضافته إلى مخرج طبقة lora العادية. - adapter_name (
str، اختياري) — اسم المُكيّف الذي سيُستخدم للإشارة إلى نموذج المُكيّف المُحمّل. إذا لم يُحدَّد، فسيُستخدمdefault_{i}حيث i هو العدد الإجمالي للمُكيّفات التي يتم تحميلها. - low_cpu_mem_usage (
bool، اختياري) — تسريع تحميل النموذج من خلال تحميل أوزان LoRA المُدرَّبة مسبقًا فقط دون تهيئة الأوزان العشوائية. - hotswap (
bool، اختياري) — انظر إلى load_lora_weights(). - metadata (
dict) — بيانات وصفية اختيارية لمُكيّف LoRA. عند تقديمها، لن تُشتقّ حُججLoraConfigالخاصة بـpeftمن قاموس الحالة.
سيؤدي هذا إلى تحميل طبقات LoRA المحددة في state_dict إلى text_encoder
load_lora_into_transformer
< source >( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]return_alphas: bool = False**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Nonetext_encoder_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata = Nonetext_encoder_lora_adapter_metadata = None )
المعاملات
- save_directory (
strأوos.PathLike) — المجلد الذي سيتم حفظ معاملات LoRA فيه. سيتم إنشاؤه إذا لم يكن موجودًا. - transformer_lora_layers (
dict[str, torch.nn.Module]أوdict[str, torch.Tensor]) — قاموس الحالة الخاص بطبقات LoRA المقابلة لـtransformer. - text_encoder_lora_layers (
dict[str, torch.nn.Module]أوdict[str, torch.Tensor]) — قاموس الحالة (State dict) لطبقات LoRA المقابلة لـtext_encoder. يجب تمرير قاموس حالة LoRA الخاص بمشفر النص بشكل صريح لأنه يأتي من 🤗 Transformers. - is_main_process (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كانت العملية التي تستدعي هذا هي العملية الرئيسية أم لا. مفيد أثناء التدريب الموزع عندما تحتاج إلى استدعاء هذه الدالة على جميع العمليات. في هذه الحالة، اضبطis_main_process=Trueعلى العملية الرئيسية فقط لتجنب حالات السباق. - save_function (
Callable) — الدالة المستخدمة لحفظ قاموس الحالة. مفيدة أثناء التدريب الموزع عندما تحتاج إلى استبدالtorch.saveبطريقة أخرى. يمكن ضبطها باستخدام متغير البيئةDIFFUSERS_SAVE_MODE. - safe_serialization (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم حفظ النموذج باستخدامsafetensorsأو بالطريقة التقليدية الخاصة بـ PyTorch باستخدامpickle. - transformer_lora_adapter_metadata — بيانات الوصف (Metadata) الخاصة بمحوّل LoRA المرتبط بالـ transformer، والتي سيتم تسلسلها مع state dict.
- text_encoder_lora_adapter_metadata — بيانات الوصف (Metadata) الخاصة بمحوّل LoRA المرتبط بترميز النص، والتي سيتم تسلسلها مع قاموس الحالة (state dict).
احفظ معاملات LoRA المقابلة لـ UNet ومشفّر النص.
unfuse_lora
< source >( components: list = ['transformer', 'text_encoder']**kwargs )
يعكس تأثير pipe.fuse_lora().
unload_lora_weights
< source >( reset_to_overwritten_params = False )
المعاملات
- reset_to_overwritten_params (
bool، القيمة الافتراضيةFalse) — ما إذا كان يجب إعادة تعيين الوحدات المحمّلة بواسطة LoRA إلى معاملاتها الأصلية. راجع توثيق Flux لمعرفة المزيد.
يفكك معاملات LoRA.
Flux2LoraLoaderMixin
تحميل طبقات LoRA إلى Flux2Transformer2DModel. خاص بـ Flux2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
Flux3LoraLoaderMixin
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
BriaFibo2LoraLoaderMixin
تحميل طبقات LoRA إلى BriaFibo2Transformer2DModel. خاص بـ BriaFibo2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
ErnieImageLoraLoaderMixin
تحميل طبقات LoRA إلى ErnieImageTransformer2DModel. خاص بـ ErnieImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
LTX2LoraLoaderMixin
تحميل طبقات LoRA إلى LTX2VideoTransformer3DModel. خاص بـ LTX2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = Noneprefix: str = 'transformer' )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
CogVideoXLoraLoaderMixin
تحميل طبقات LoRA إلى CogVideoXTransformer3DModel. خاص بـ CogVideoXPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
Mochi1LoraLoaderMixin
تحميل طبقات LoRA إلى MochiTransformer3DModel. خاص بـ MochiPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
AuraFlowLoraLoaderMixin
تحميل طبقات LoRA إلى AuraFlowTransformer2DModel خاص بـ AuraFlowPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
LTXVideoLoraLoaderMixin
تحميل طبقات LoRA إلى LTXVideoTransformer3DModel. خاص بـ LTXPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
SanaLoraLoaderMixin
تحميل طبقات LoRA إلى SanaTransformer2DModel. خاص بـ SanaPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
HeliosLoraLoaderMixin
تحميل طبقات LoRA إلى HeliosTransformer3DModel. خاص بـ HeliosPipeline و HeliosPyramidPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
HunyuanVideoLoraLoaderMixin
تحميل طبقات LoRA إلى HunyuanVideoTransformer3DModel. خاص بـ HunyuanVideoPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
Lumina2LoraLoaderMixin
تحميل طبقات LoRA إلى Lumina2Transformer2DModel. خاص بـ Lumina2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
CogView4LoraLoaderMixin
تحميل طبقات LoRA إلى WanTransformer3DModel. خاص بـ CogView4Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
WanLoraLoaderMixin
تحميل طبقات LoRA إلى WanTransformer3DModel. خاص بـ WanPipeline و [WanImageToVideoPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
SkyReelsV2LoraLoaderMixin
حمّل طبقات LoRA إلى SkyReelsV2Transformer3DModel.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
AmusedLoraLoaderMixin
load_lora_into_transformer
< source >( state_dictnetwork_alphastransformeradapter_name = Nonemetadata = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = False )
راجع load_lora_into_unet() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketext_encoder_lora_layers: dict = Nonetransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = True )
المعاملات
- save_directory (
strأوos.PathLike) — المجلد الذي سيتم حفظ معاملات LoRA فيه. سيتم إنشاؤه إذا لم يكن موجودًا. - unet_lora_layers (
dict[str, torch.nn.Module]أوdict[str, torch.Tensor]) — قاموس الحالة (State dict) لطبقات LoRA المقابلة لـunet. - text_encoder_lora_layers (
dict[str, torch.nn.Module]أوdict[str, torch.Tensor]) — قاموس الحالة (State dict) لطبقات LoRA المقابلة لـtext_encoder. يجب تمرير قاموس حالة LoRA الخاص بمشفر النص بشكل صريح لأنه يأتي من 🤗 Transformers. - is_main_process (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كانت العملية التي تستدعي هذا هي العملية الرئيسية أم لا. مفيد أثناء التدريب الموزع عندما تحتاج إلى استدعاء هذه الدالة على جميع العمليات. في هذه الحالة، اضبطis_main_process=Trueعلى العملية الرئيسية فقط لتجنب حالات السباق. - save_function (
Callable) — الدالة المستخدمة لحفظ قاموس الحالة. مفيدة أثناء التدريب الموزع عندما تحتاج إلى استبدالtorch.saveبطريقة أخرى. يمكن ضبطها باستخدام متغير البيئةDIFFUSERS_SAVE_MODE. - safe_serialization (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم حفظ النموذج باستخدامsafetensorsأو بالطريقة التقليدية الخاصة بـ PyTorch باستخدامpickle.
احفظ معاملات LoRA المقابلة لـ UNet ومشفّر النص.
AnimaLoraLoaderMixin
حمّل طبقات LoRA إلى CosmosTransformer3DModel وAnimaTextConditioner.
fuse_lora
< source >( components: list = ['transformer', 'text_conditioner']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
راجع unfuse_lora() لمزيد من التفاصيل.
AceStepLoraLoaderMixin
تحميل طبقات LoRA إلى AceStepTransformer1DModel. خاص بـ AceStepPipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
HiDreamImageLoraLoaderMixin
تحميل طبقات LoRA إلى HiDreamImageTransformer2DModel. خاص بـ HiDreamImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
QwenImageLoraLoaderMixin
تحميل طبقات LoRA إلى QwenImageTransformer2DModel. خاص بـ QwenImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
ZImageLoraLoaderMixin
تحميل طبقات LoRA إلى ZImageTransformer2DModel. خاص بـ ZImagePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
CosmosLoraLoaderMixin
تحميل طبقات LoRA إلى CosmosTransformer3DModel، خاصة بـ Cosmos2_5_PredictBasePipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
KandinskyLoraLoaderMixin
حمّل طبقات LoRA إلى Kandinsky5Transformer3DModel،
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
Ideogram4LoraLoaderMixin
تحميل طبقات LoRA إلى Ideogram4Transformer2DModel. خاص بـ Ideogram4Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
Krea2LoraLoaderMixin
تحميل طبقات LoRA إلى Krea2Transformer2DModel. خاص بـ Krea2Pipeline.
fuse_lora
< source >( components: list = ['transformer']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = False**kwargs )
راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = None )
راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
MiniMaxH3LoraLoaderMixin
تحميل طبقات LoRA إلى MiniMaxH3Transformer3DModel. خاص بـ MiniMaxH3ModularPipeline.
يأتي MiniMax-H3 مع قسمين مستقلين من DiT يحملان أسماء وحدات متطابقة (حيث يؤدي تحميل LoRA مخصص لأحدهما إلى القسم الآخر إلى تدهور المخرجات)، لذا يكون التوجيه صريحًا: تستهدف قواميس الحالة المحوّلة transformer.؛ للوصول إلى transformer_ref استخدم ملفًا يبدأ ببادئة transformer_ref. أو اضبط load_into_transformer_ref=True.
تُدرب نماذج LoRA الخاصة بـ DiffSynth-Studio (مثل DiffSynth-Studio/MiniMax-H3-LoRA-LineartAnime) مقابل مصفوفات QKV المدمجة والمترابطة لكل رأس في نقطة التفتيش الأصلية، وتُفكّ الترابط عند التحويل. تجعل معاملات fp32 مسار LoRA غير المدمج يُحسب في fp32؛ بينما يُعيد .to(torch.bfloat16) على النموذج بعد تحميله ميزانية الذاكرة الخاصة بـ bf16.
تفشل نماذج LoRA المدربة على نقطة فحص مُقصوصة (ملفات *_pruned_* في Comfy-Org/MiniMax-H3؛ joyfox/MiniMax-H3-Turbo هي واحدة منها) بسبب عدم تطابق الحجم.
تُحمَّل الملفات التي لا تحتوي على معامل Alpha بقيمة alpha == rank (مقياس 1.0، وهو الاتفاق المذكور على سبيل المثال في larryvrh/MiniMax-H3-Turbo-Lora)؛ أما إدخال alpha ضمن __metadata__ (مثل ملف الخطوات الثماني في lightx2v/Minimax-h3-Turbo)، فحين يكون موجودًا، يُعتمد عليه بدلاً من ذلك.
fuse_lora
< source >( components: list = ['transformer', 'transformer_ref']lora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
راجع fuse_lora() لمزيد من التفاصيل.
load_lora_into_transformer
< source >( state_dicttransformeradapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_into_transformer_ref
< source >( state_dicttransformer_refprefixadapter_name = None_pipeline = Nonelow_cpu_mem_usage = Falsehotswap: bool = Falsemetadata = None )
حمّل طبقات LoRA إلى قسم transformer_ref. يُشير prefix إلى اسم المكوّن الذي تحمله المفاتيح، وهو transformer_ref للملف الذي يسمّي القسم وtransformer للملف المُوجَّه إلى هنا بواسطة load_into_transformer_ref=True. راجع load_lora_into_unet() لمزيد من التفاصيل.
load_lora_weights
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]adapter_name: str | None = Nonehotswap: bool = Falseload_into_transformer_ref: bool = False**kwargs )
المعاملات
- load_into_transformer_ref (
bool، القيمة الافتراضيةFalse) — تحميل الطبقات التي تبدأ ببادئةtransformer.إلى قسمtransformer_ref— وهو القسم الذي يستخدمه سير عملref2vaلإزالة الضوضاء — بدلاً منtransformer. لا يُطلب هذا إلا عند تحميل كلا القسمين: فخط الأنابيب الذي يحتوي علىtransformer_refوحده يوجّه الطلبات إليه تلقائياً.
حمّل طبقات LoRA إلى transformer أو، عند استخدام load_into_transformer_ref=True، إلى transformer_ref. راجع load_lora_weights() لمزيد من التفاصيل.
lora_state_dict
< source >( pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor]**kwargs )
راجع lora_state_dict() لمزيد من التفاصيل.
save_lora_weights
< source >( save_directory: str | os.PathLiketransformer_lora_layers: dict = Nonetransformer_ref_lora_layers: dict = Noneis_main_process: bool = Trueweight_name: str = Nonesave_function: typing.Callable = Nonesafe_serialization: bool = Truetransformer_lora_adapter_metadata: dict | None = Nonetransformer_ref_lora_adapter_metadata: dict | None = None )
احفظ طبقات LoRA لأحد تقسيمَي MiniMax-H3 أو لكليهما. لا يمكن استعادة التقسيم الذي تنتمي إليه طبقة LoRA من مفاتيحها، لذا فإن هذه هي الطريقة الوحيدة لنشر LoRA خاص بـ H3 يسجّل ذلك. راجع save_lora_weights() لمزيد من المعلومات.
راجع unfuse_lora() لمزيد من التفاصيل.
PikaH3FlexLoraLoaderMixin
تحميل طبقات LoRA إلى MiniMaxH3Transformer3DModel. خاص بـ PikaH3FlexModularPipeline.
إصدار Pika H3 Flex هو زوج من محوِّلات rank-128 فوق قسمي MiniMax-H3 transformer، وقد نُشر كملفات PEFT عادية بأسماء وحدات diffusers (fl2va/adapter.safetensors لـ transformer، وref2va/adapter.safetensors لـ transformer_ref). تُحمَّل الملفات التي لا تحتوي على alpha عند alpha == rank (مقياس 1.0)، وهو العقد الخاص بالمحوِّلات نفسها، وتكون عمليات التحميل والتوجيه والحفظ هي تلك الخاصة بـ MiniMaxH3LoraLoaderMixin: حيث يذهب محوِّل fl2va إلى transformer، ومحوِّل ref2va إلى transformer_ref — بشكل مستقل عندما يحتفظ خط العمل بذلك القسم وحده (workflow="ref2va")، ومع load_into_transformer_ref=True عندما يحتفظ بكلا القسمين.
LoraBaseMixin
فئة مساعدة للتعامل مع LoRAs.
delete_adapters
< source >( adapter_names: list[str] | str )
احذف طبقات LoRA الخاصة بالمُكيّف من خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_names="cinematic"
)
pipeline.delete_adapters("cinematic")يعطّل طبقات LoRA النشطة في خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.disable_lora()يُفعّل طبقات LoRA النشطة في خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.enable_lora()enable_lora_hotswap
< source >( **kwargs )
استبدل المُكيِّفات (Adapters) دون الحاجة إلى إعادة تجميع النموذج أو في حال كانت رتب المُكيِّفات المُحمَّلة مختلفة.
fuse_lora
< source >( components: list[str] | None = Nonelora_scale: float = 1.0safe_fusing: bool = Falseadapter_names: list[str] | None = None**kwargs )
المعاملات
- components — (
list[str]): قائمة بالمكونات القابلة لحقن LoRA لدمج LoRAs فيها. - lora_scale (
float، القيمة الافتراضية 1.0) — يتحكم في مقدار تأثير معاملات LoRA على المخرجات. - safe_fusing (
bool، القيمة الافتراضيةFalse) — ما إذا كان يجب التحقق من قيم NaN في الأوزان المدمجة قبل الدمج، وعدم دمجها إذا كانت القيم NaN. - adapter_names (
list[str]، اختياري) — أسماء المُكيّفات (Adapters) التي سيتم استخدامها للدمج. إذا لم يتم تمرير أي شيء، فسيتم دمج جميع المُكيّفات النشطة.
يُدمج معاملات LoRA في المعاملات الأصلية للكتل المقابلة.
مثال:
from diffusers import DiffusionPipeline
import torch
pipeline = DiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights("nerijs/pixel-art-xl", weight_name="pixel-art-xl.safetensors", adapter_name="pixel")
pipeline.fuse_lora(lora_scale=0.7)يحصل على قائمة المُكيِّفات النشطة حاليًا.
يحصل على القائمة الحالية لجميع المحوِّلات المتاحة في خط المعالجة.
set_adapters
< source >( adapter_names: list[str] | stradapter_weights: float | dict[str, float | dict | None] | list[float | dict[str, float | dict | None] | None] | None = None )
المعاملات
- adapter_names (
list[str]أوstr) — أسماء المُكيِّفات (adapters) المراد استخدامها. - adapter_weights (
floatأوdictأوlist، اختياري) — أوزان المُكيّفات. يُقيّم العدد القياسي جميع المكونات المتوافقة مع LoRA. تُربط القاموس أسماء المكونات (مثل"unet"أو"transformer"أو"text_encoder") بالأوزان؛ ويمكن أن يكون وزن مكوّن UNet قاموسًا متداخلًا لمقاييس الكتل. يُطبَّق العدد القياسي أو القاموس الواحد على كل مُكيّف. يجب أن تحتوي القائمة على عدد قياسي واحد أو قاموس أوNoneلكل مُكيّف، بترتيبadapter_names. تتخذNoneالقيمة الافتراضية1.0، بما في ذلك إدخالات القائمة وأوزان المكونات. وتتخذ المكونات غير المحددة وكتل UNet أيضًا القيمة الافتراضية1.0.
اضبط المُكيِّفات النشطة حاليًا للاستخدام في خط المعالجة.
مثال:
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16
).to("cuda")
pipeline.load_lora_weights(
"jbilcke-hf/sdxl-cinematic-1", weight_name="pytorch_lora_weights.safetensors", adapter_name="cinematic"
)
pipeline.load_lora_weights(
"troveski/sdxl-lora", weight_name="pytorch_lora_weights.safetensors", adapter_name="illustration"
)
pipeline.set_adapters(["cinematic", "illustration"], adapter_weights=[0.5, 0.5])
pipeline.set_adapters(
["cinematic", "illustration"],
adapter_weights=[{"unet": 0.5}, {"unet": 0.8, "text_encoder": 0.6}],
)set_lora_device
< source >( adapter_names: list[str]device: torch.device | str | int )
ينقل وحدات LoRA المدرجة في adapter_names إلى جهاز الهدف. يُعدّ هذا مفيدًا لتحميل وحدة LoRA على المعالج المركزي (CPU) في حال كنت ترغب في تحميل عدة وحدات تكيفية وتحرير بعض ذاكرة وحدة معالجة الرسوميات (GPU).
بعد نقل محولات LoRA إلى وحدة المعالجة المركزية (CPU)، طالما أن بقية النموذج لا تزال على وحدة معالجة الرسوميات (GPU)، لم يعد من الممكن استخدام محولات LoRA للاستدلال، لأن ذلك سيؤدي إلى عدم تطابق الأجهزة. تذكّر بإعادة ضبط الجهاز إلى وحدة معالجة الرسوميات (GPU) قبل استخدام تلك محولات LoRA للاستدلال.
>>> pipe.load_lora_weights(path_1, adapter_name="adapter-1")
>>> pipe.load_lora_weights(path_2, adapter_name="adapter-2")
>>> pipe.set_adapters("adapter-1")
>>> image_1 = pipe(**kwargs)
>>> # switch to adapter-2, offload adapter-1
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cuda:0")
>>> pipe.set_adapters("adapter-2")
>>> image_2 = pipe(**kwargs)
>>> # switch back to adapter-1, offload adapter-2
>>> pipeline.set_lora_device(adapter_names=["adapter-2"], device="cpu")
>>> pipeline.set_lora_device(adapter_names=["adapter-1"], device="cuda:0")
>>> pipe.set_adapters("adapter-1")
>>> ...unfuse_lora
< source >( components: list[str] | None = None**kwargs )
المعاملات
- components (
list[str]) — قائمة بالمكونات القابلة لحقن LoRA لإزالة LoRA منها. - unfuse_unet (
bool، القيمة الافتراضيةTrue) — ما إذا كان سيتم فك دمج معاملات LoRA الخاصة بـ UNet. - unfuse_text_encoder (
bool، القيمة الافتراضيةTrue) — ما إذا كان سيتم فك دمج معاملات LoRA الخاصة بمشفّر النص. إذا لم يكن مشفّر النص قد خضع لتعديل قرداني (monkey-patch) بمعاملات LoRA، فلن يكون لهذا الإجراء أي تأثير.
يعكس تأثير pipe.fuse_lora().
يفكك معاملات LoRA.
write_lora_layers
< source >( state_dict: dict[str, torch.Tensor]save_directory: stris_main_process: boolweight_name: strsave_function: Callablesafe_serialization: boollora_adapter_metadata: dict | None = None )
يكتب حالة طبقات LoRA (مع البيانات الوصفية اختيارياً) على القرص.