Buckets:

mishig's picture
|
download
raw
35.5 kB

النماذج

🤗 يوفر Diffusers نماذج مُدرَّبة مسبقًا لخوارزميات شائعة ووحدات لإنشاء أنظمة انتشار مخصصة. الوظيفة الأساسية للنماذج هي إزالة الضوضاء من عينة مدخلات كما تم نمذجتها بواسطة التوزيع pθ(xt−1∣xt)p_{\theta}(x_{t-1}|x_{t}).

تُبنى جميع النماذج من الفئة الأساسية ModelMixin وهي torch.nn.Module توفر الوظائف الأساسية لحفظ النماذج وتحميلها، محليًا ومن Hugging Face Hub.

ModelMixin[[diffusers.ModelMixin]]

diffusers.ModelMixin[[diffusers.ModelMixin]]

diffusers.ModelMixin()

المصدر

الفئة الأساسية لجميع النماذج.

يتولى ModelMixin مهمة تخزين إعدادات النموذج، ويوفر طرقًا لتحميل النماذج وتنزيلها وحفظها.

  • config_name (str) -- اسم الملف الذي يُحفظ به النموذج عند استدعاء save_pretrained().

compile_repeated_blocks[[diffusers.ModelMixin.compile_repeated_blocks]]

compile_repeated_blocks(*args, **kwargs)

المصدر

يُجمّع فقط الوحدات الفرعية المتكررة بشكل متكرر في النموذج (مثل طبقات Transformer) بدلاً من تجميع النموذج بأكمله. يمكن لهذه التقنية—التي تُعرف غالباً بـالتجميع الإقليمي (انظر وصفة PyTorch https://docs.pytorch.org/tutorials/recipes/regional_compilation.html) أن تقلل زمن التجميع من البداية إلى النهاية بشكل كبير، مع الحفاظ على تسريع وقت التشغيل الذي تتوقعه من torch.compile الكامل.

يتم اكتشاف مجموعة الوحدات الفرعية التي يجب تجميعها من خلال وجود خاصية _repeated_blocks في تعريف النموذج. عرّف هذه الخاصية على فئة النموذج الفرعية الخاصة بك على أنها قائمة/مجموعة من أسماء الفئات (نصوص). سيتم تجميع كل وحدة يطابق اسم فئتها أحد هذه الأسماء.

بمجرد اكتشافها، يُجمَّع كل وحدة فرعية مطابقة عن طريق استدعاء submodule.compile(*args, **kwargs). أي معاملات موضعية أو معاملات مُسمّاة تُمرّرها إلى compile_repeated_blocks تُمرَّر كما هي إلى torch.compile.

cuda[[diffusers.ModelMixin.cuda]]

cuda(*args, **kwargs)

قيمة وهمية لمسار منقّط (مثل torch.float32): سلاسل الوصول إلى السمات، والاستدعاءات تتصرف كمُزيّنات (decorators) مرّرة، وrepr هو المسار المنقّط، وعند استخدامه كصنف أساسي يُستبدل بصنف أساسي من نوع type عادي (بموجب __mro_entries__ في PEP 560)، بحيث تحتفظ الصنوف الفرعية الحقيقية بفئة ميتا (metaclass) عادية، وتقرأ inspect.signature دالة __init__ الحقيقية الخاصة بها بدلاً من تلك الوهمية.

إلغاء التكميم[[diffusers.ModelMixin.dequantize]]

dequantize()

المصدر

قد يلزم إلغاء تكميم النموذج في حال تم تكميمه بطريقة تكميم تدعم إلغاء التكميم.

disable_gradient_checkpointing[[diffusers.ModelMixin.disable_gradient_checkpointing]]

disable_gradient_checkpointing()

المصدر

يعطّل نقطة التفتيش للتدرجات (gradients) للنموذج الحالي (قد يُشار إليها باسم نقطة التفتيش للتفعيلات أو نقاط تفتيش التفعيلات في أطر عمل أخرى).

disable_npu_flash_attention[[diffusers.ModelMixin.disable_npu_flash_attention]]

disable_npu_flash_attention()

المصدر

تعطيل npu flash attention من torch_npu

disable_xformers_memory_efficient_attention[[diffusers.ModelMixin.disable_xformers_memory_efficient_attention]]

disable_xformers_memory_efficient_attention()

المصدر

تعطيل الانتباه الموفّر للذاكرة من xFormers.

disable_xla_flash_attention[[diffusers.ModelMixin.disable_xla_flash_attention]]

disable_xla_flash_attention()

المصدر

تعطيل نواة flash attention pallals لـ torch_xla.

enable_gradient_checkpointing[[diffusers.ModelMixin.enable_gradient_checkpointing]]

enable_gradient_checkpointing(gradient_checkpointing_func: typing.Optional[typing.Callable] = None)

المصدر

المعاملات:

gradient_checkpointing_func (Callable، اختياري) : الدالة المستخدمة للتدقيق التدرّجي (gradient checkpointing). إذا كانت None، تُستخدم دالة التدقيق التدرّجي الافتراضية في PyTorch (torch.utils.checkpoint.checkpoint).

يُفعّل فحص التدرّجات (gradient checkpointing) للنموذج الحالي (قد يُشار إليه باسم فحص التفعيلات أو فحص التفعيلات في أطر عمل أخرى).

enable_group_offload[[diffusers.ModelMixin.enable_group_offload]]

enable_group_offload(onload_device: device, offload_device: device = torch.device(), offload_type: str = 'block_level', num_blocks_per_group: int | None = None, non_blocking: bool = False, use_stream: bool = False, record_stream: bool = False, low_cpu_mem_usage = False, offload_to_disk_path: str | None = None, block_modules: str | None = None, exclude_kwargs: str | None = None)

المصدر

يُفعّل تفريغ المجموعات للنموذج الحالي.

راجع apply_group_offloading() لمزيد من المعلومات.

مثال:

>>> from diffusers import CogVideoXTransformer3DModel

>>> transformer = CogVideoXTransformer3DModel.from_pretrained(
...     "THUDM/CogVideoX-5b", subfolder="transformer", torch_dtype=torch.bfloat16
... )

>>> transformer.enable_group_offload(
...     onload_device=torch.device("cuda"),
...     offload_device=torch.device("cpu"),
...     offload_type="leaf_level",
...     use_stream=True,
... )

enable_layerwise_casting[[diffusers.ModelMixin.enable_layerwise_casting]]

enable_layerwise_casting(storage_dtype: dtype = torch.float8_e4m3fn, compute_dtype: typing.Optional[torch.dtype] = None, skip_modules_pattern: tuple[str, ...] | None = None, skip_modules_classes: tuple[typing.Type[torch.nn.Module], ...] | None = None, non_blocking: bool = False)

المصدر

المعاملات:

storage_dtype (torch.dtype) : نوع البيانات الذي يجب تحويل النموذج إليه للتخزين.

compute_dtype (torch.dtype) : نوع البيانات الذي يجب تحويل أوزان النموذج إليه أثناء المرور الأمامي.

skip_modules_pattern (tuple[str, ...]، اختياري) : قائمة أنماط لمطابقة أسماء الوحدات التي يجب تجاوزها أثناء عملية الصب على مستوى الطبقات. إذا تم ضبطه على None، تُستخدم أنماط التجاوز الافتراضية لتجاهل بعض الطبقات الداخلية للوحدات وطبقات PEFT.

skip_modules_classes (tuple[Type[torch.nn.Module], ...]، اختياري) : قائمة بفئات الوحدات التي يجب تجاوزها أثناء عملية الصب على مستوى الطبقات.

non_blocking (bool، اختياري، القيمة الافتراضية False) : إذا كانت True، فإن عمليات تحويل الأوزان غير حاصِرة.

يُفعّل الإقحام على مستوى الطبقات للنموذج الحالي.

التحويل على مستوى الطبقات هو أسلوب يقوم بتحويل أوزان النموذج إلى نوع بيانات بدقة أقل للتخزين، ثم يعيد تحويلها على الفور إلى نوع بيانات بدقة أعلى للحساب. يمكن لهذا العملية أن تقلل بشكل كبير من البصمة الذاكرة الناتجة عن أوزان النموذج، لكنها قد تؤدي إلى بعض التدهور في جودة المخرجات. معظم حالات التدهور غير مهمة، وتنشأ بشكل رئيسي من تحويل الأوزان في طبقات التطبيع والتعديل.

بشكل افتراضي، تُعيّن معظم النماذج في diffusers الخاصية _skip_layerwise_casting_patterns لتجاهل طبقات تضمين البقع (patch embedding) وتضمين الموضع (positional embedding) وطبقات التطبيع (normalization). والسبب في ذلك أن هذه الطبقات غالباً ما تكون حساسة للدقة من حيث الجودة. إذا كنت ترغب في تغيير هذا السلوك، يمكنك تعيين الخاصية _skip_layerwise_casting_patterns إلى None، أو استدعاء apply_layerwise_casting() بحجج مخصصة.

مثال:

باستخدام enable_layerwise_casting():

>>> from diffusers import CogVideoXTransformer3DModel

>>> transformer = CogVideoXTransformer3DModel.from_pretrained(
...     "THUDM/CogVideoX-5b", subfolder="transformer", torch_dtype=torch.bfloat16
... )

>>> # Enable layerwise casting via the model, which ignores certain modules by default
>>> transformer.enable_layerwise_casting(storage_dtype=torch.float8_e4m3fn, compute_dtype=torch.bfloat16)

enable_npu_flash_attention[[diffusers.ModelMixin.enable_npu_flash_attention]]

enable_npu_flash_attention()

المصدر

تفعيل npu flash attention من torch_npu

enable_xformers_memory_efficient_attention[[diffusers.ModelMixin.enable_xformers_memory_efficient_attention]]

enable_xformers_memory_efficient_attention(attention_op: typing.Optional[typing.Callable] = None)

المصدر

المعاملات:

attention_op (Callable، اختياري) : تجاوز المشغّل الافتراضي None لاستخدامه كحجة op في دالة memory_efficient_attention() الخاصة بـ xFormers.

تفعيل الانتباه الموفّر للذاكرة من xFormers.

عند تمكين هذا الخيار، يجب أن تلاحظ انخفاضًا في استخدام ذاكرة وحدة معالجة الرسوميات (GPU) وتسريعًا محتملًا أثناء الاستدلال. لا يُضمن حدوث تسريع أثناء التدريب.

> ⚠️ عند تفعيل كل من الانتباه الموفّر للذاكرة والانتباه المقطّع، يكون الانتباه الموفّر تتمتع attention بأولوية أعلى.

أمثلة:

>>> import torch
>>> from diffusers import UNet2DConditionModel
>>> from xformers.ops import MemoryEfficientAttentionFlashAttentionOp

>>> model = UNet2DConditionModel.from_pretrained(
...     "stabilityai/stable-diffusion-2-1", subfolder="unet", torch_dtype=torch.float16
... )
>>> model = model.to("cuda")
>>> model.enable_xformers_memory_efficient_attention(attention_op=MemoryEfficientAttentionFlashAttentionOp)

enable_xla_flash_attention[[diffusers.ModelMixin.enable_xla_flash_attention]]

enable_xla_flash_attention(partition_spec: typing.Optional[typing.Callable] = None, **kwargs)

المصدر

تفعيل نواة flash attention pallals لـ torch_xla.

from_pretrained[[diffusers.ModelMixin.from_pretrained]]

from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None, **kwargs)

المصدر

المعاملات:

pretrained_model_name_or_path (str أو os.PathLike، اختياري) : يمكن أن يكون أحد ما يلي: - نص، وهو معرف النموذج (مثل google/ddpm-celebahq-256) لنموذج مُدرَّب مسبقًا مستضاف على Hub. - مسار إلى مجلد (مثل ./my_model_directory) يحتوي على أوزان النموذج المحفوظة باستخدام save_pretrained().

cache_dir (str | os.PathLike، اختياري) : مسار إلى مجلد حيث تُخزَّن مؤقتًا إعدادات النموذج المُسبق التحميل المُحمَّل إذا لم يُستخدم التخزين المؤقت القياسي.

dtype (torch.dtype، اختياري) : تجاوز torch.dtype الافتراضي وتحميل النموذج بنوع بيانات آخر.

force_download (bool، اختياري، القيمة الافتراضية False) : ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.

proxies (dict[str, str]، اختياري) : قاموس لخوادم الوكيل (proxy servers) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال، {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. تُستخدم هذه الوكلاء في كل طلب.

output_loading_info (bool، اختياري، القيمة الافتراضية False) : ما إذا كان يجب إرجاع قاموس يحتوي على المفاتيح المفقودة والمفاتيح غير المتوقعة ورسائل الأخطاء أم لا.

local_files_only(bool، اختياري، القيمة الافتراضية False) : ما إذا كان سيتم تحميل أوزان النموذج وملفات الإعداد المحلية فقط أم لا. إذا تم ضبطه على True، فلن يتم تنزيل النموذج من Hub.

token (str أو bool، اختياري) : الرمز الذي يُستخدم كتوكن مصادقة HTTP bearer للملفات البعيدة. إذا كان True، يُستخدم التوكن المولّد من diffusers-cli login (المخزَّن في ~/.huggingface).

revision (str، اختياري، القيمة الافتراضية "main") : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف التزامن، أو أي معرّف مسموح به بواسطة Git.

subfolder (str، اختياري، القيمة الافتراضية "") : موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا.

mirror (str، اختياري) : مصدر مرآة لحل مشاكل إمكانية الوصول إذا كنت تقوم بتنزيل نموذج في الصين. نحن لا نضمن حداثة المصدر أو أمانه، وينبغي لك الرجوع إلى موقع المرآة لمزيد من المعلومات.

device_map (int | str | torch.device أو dict[str, int | str | torch.device]، اختياري) : خريطة تحدد المكان الذي يجب أن يذهب إليه كل وحدة فرعية. لا حاجة لتحديدها لكل اسم معامل/مخزن مؤقت؛ فبمجرد أن يكون اسم وحدة معينة داخلها، سيتم إرسال كل وحدة فرعية منها إلى نفس الجهاز. القيمة الافتراضية هي None، مما يعني أن النموذج سيُحمَّل على وحدة المعالجة المركزية (CPU). أمثلة: py >>> from diffusers import AutoModel >>> import torch >>> # This works. >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet", device_map="cuda" ... ) >>> # This also works (integer accelerator device ID). >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet", device_map=0 ... ) >>> # Specifying a supported offloading strategy like "auto" also works. >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet", device_map="auto" ... ) >>> # Specifying a dictionary as `device_map` also works. >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", ... subfolder="unet", ... device_map={"": torch.device("cuda")}, ... ) اضبط device_map="auto" ليحسب 🤗 Accelerate تلقائيًا device_map الأكثر تحسينًا. لمزيد من المعلومات حول كل خيار، راجع تصميم خريطة الأجهزة. يمكنك أيضًا الرجوع إلى التوثيق الخاص بـ Diffusers للحصول على أمثلة أكثر تحديدًا.

max_memory (Dict، اختياري) : قاموس معرّف الجهاز للذاكرة القصوى. إذا لم يتم ضبطه، فسيتم افتراضياً استخدام أقصى ذاكرة متاحة لكل وحدة معالجة رسومية (GPU) والذاكرة العشوائية المتاحة للمعالج المركزي (CPU).

offload_folder (str أو os.PathLike، اختياري) : المسار لتفريغ الأوزان إذا احتوى device_map على القيمة "disk".

offload_state_dict (bool, اختياري) : إذا كان True، يتم نقل حالة المعالج المركزي (CPU state dict) مؤقتًا إلى القرص الصلب لتجنب نفاد ذاكرة المعالج المركزي (CPU RAM) إذا لم يتسع وزن حالة المعالج المركزي (CPU state dict) بالإضافة إلى أكبر شريحة (shard) من نقطة الحفظ (checkpoint). القيمة الافتراضية هي True عند وجود أي نقل إلى القرص (disk offload).

low_cpu_mem_usage (bool، اختياري، القيمة الافتراضية هي True إذا كانت إصدار torch >= 1.9.0 وإلا False) : تسريع تحميل النموذج من خلال تحميل الأوزان المُسبقة التدريب فقط دون تهيئة الأوزان. كما يحاول هذا الخيار عدم استخدام أكثر من 1x حجم النموذج في ذاكرة المعالج المركزي (بما في ذلك الذروة) أثناء تحميل النموذج. مدعوم فقط لـ PyTorch >= 1.9.0. إذا كنت تستخدم إصدارًا أقدم من PyTorch، فإن تعيين هذا الحجة إلى True سيؤدي إلى رفع خطأ.

variant (str، اختياري) : تحميل الأوزان من ملف variant محدد مثل "fp16" أو "ema".

use_safetensors (bool، اختياري، القيمة الافتراضية None) : إذا تم تعيينه إلى None، يتم تنزيل أوزان safetensors إذا كانت متاحة و إذا كانت مكتبة safetensors مثبتة. إذا تم تعيينه إلى True، يتم تحميل النموذج قسريًا من أوزان safetensors. إذا تم تعيينه إلى False، لا يتم تحميل أوزان safetensors.

disable_mmap ('bool', اختياري، القيمة الافتراضية هي 'False') : ما إذا كان سيتم تعطيل mmap عند تحميل نموذج Safetensors. يمكن أن يؤدي هذا الخيار إلى أداء أفضل عندما يكون النموذج على وحدة تخزين شبكية أو قرص صلب، حيث قد لا تتعامل هذه الوسائط بشكل جيد مع طبيعة عمليات البحث (seek) التي يتطلبها mmap.

use_flashpack (bool، اختياري، القيمة الافتراضية False) : إذا تم ضبطه على True، يتم تحميل النموذج من أوزان flashpack.

flashpack_kwargs(dict[str, Any]، اختياري، القيمة الافتراضية {}) : معاملات إضافية تُمرَّر إلى flashpack.deserialization.assign_from_file

أنشئ نموذج PyTorch مُدرَّب مسبقًا من تكوين نموذج مُدرَّب مسبقًا.

يُضبط النموذج على وضع التقييم - model.eval() - افتراضيًا، وتُعطَّل وحدات الإسقاط العشوائي (dropout). لتدريب النموذج، أعد ضبطه على وضع التدريب باستخدام model.train().

> لاستخدام النماذج الخاصة أو النماذج المُقيَّدة، سجّل الدخول باستخدام hf > auth login. يمكنك أيضًا تفعيل وضع "offline-mode" الخاص لاستخدام هذه الطريقة في بيئة محمية بجدار ناري.

مثال:

from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")

إذا ظهرت لك رسالة الخطأ أدناه، فأنت بحاجة إلى ضبط الأوزان لمهمتك التالية:

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

get_memory_footprint[[diffusers.ModelMixin.get_memory_footprint]]

get_memory_footprint(return_buffers = True)

المصدر

المعاملات:

return_buffers (bool، اختياري، القيمة الافتراضية True) : ما إذا كان يجب إرجاع حجم تينسورات المخزن المؤقت في حساب البصمة الذاكرة. المخازن المؤقتة هي تينسورات لا تتطلب تدرجات ولم تُسجَّل كمعاملات. على سبيل المثال، المتوسط والانحراف المعياري في طبقات تطبيع الدفعة. يرجى الاطلاع على: https://discuss.pytorch.org/t/what-pytorch-means-by-buffers/120266/2

احصل على بصمة الذاكرة لنموذج. سيعيد هذا البصمة الذاكرة للنموذج الحالي بالبايت. مفيد لمعايرة بصمة الذاكرة للنموذج الحالي وتصميم بعض الاختبارات. الحل مستوحى من نقاشات PyTorch: https://discuss.pytorch.org/t/gpu-memory-that-model-uses/56822/2

num_parameters[[diffusers.ModelMixin.num_parameters]]

num_parameters(only_trainable: bool = False, exclude_embeddings: bool = False)

المصدر

المعاملات:

only_trainable (bool، اختياري، الافتراضي False) : ما إذا كان يجب إرجاع عدد المعاملات القابلة للتدريب فقط.

exclude_embeddings (bool، اختياري، الافتراضي False) : ما إذا كان يجب إرجاع عدد معاملات غير التضمين فقط.

يعيد: int

عدد المعاملات.

احصل على عدد (المعاملات القابلة للتدريب أو غير التضمينية) في الوحدة.

مثال:

from diffusers import UNet2DConditionModel

model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
unet = UNet2DConditionModel.from_pretrained(model_id, subfolder="unet")
unet.num_parameters(only_trainable=True)
859520964

reset_attention_backend[[diffusers.ModelMixin.reset_attention_backend]]

reset_attention_backend()

المصدر

يعيد تعيين واجهة الانتباه الخلفية للنموذج. ستستخدم الاستدعاءات اللاحقة لـforward الافتراضي البيئي، إذا كان مضبوطاً، أو الانتباه الأصلي المقيّم لنقطة الضرب في torch.

save_pretrained[[diffusers.ModelMixin.save_pretrained]]

save_pretrained(save_directory: str | os.PathLike, is_main_process: bool = True, save_function: typing.Optional[typing.Callable] = None, safe_serialization: bool = True, variant: str | None = None, max_shard_size: int | str = '10GB', push_to_hub: bool = False, use_flashpack: bool = False, **kwargs)

المصدر

المعاملات:

save_directory (str أو os.PathLike) : المجلد الذي سيتم حفظ النموذج وملف إعداده فيه. سيتم إنشاؤه إذا لم يكن موجودًا.

is_main_process (bool، اختياري، القيمة الافتراضية True) : ما إذا كان العملية التي تستدعي هذا هي العملية الرئيسية أم لا. مفيد أثناء التدريب الموزع عندما تحتاج إلى استدعاء هذه الدالة على جميع العمليات. في هذه الحالة، اضبط is_main_process=True على العملية الرئيسية فقط لتجنب حالات السباق.

save_function (Callable) : الدالة المستخدمة لحفظ قاموس الحالة. مفيدة أثناء التدريب الموزع عندما تحتاج إلى استبدال torch.save بطريقة أخرى. يمكن ضبطها باستخدام متغير البيئة DIFFUSERS_SAVE_MODE.

safe_serialization (bool، اختياري، الافتراضي True) : ما إذا كان سيتم حفظ النموذج باستخدام safetensors أو بالطريقة التقليدية الخاصة بـ PyTorch باستخدام pickle.

variant (str، اختياري) : إذا تم تحديده، تُحفظ الأوزان بالتنسيق pytorch_model.<variant>.bin.

max_shard_size (int أو str، القيمة الافتراضية هي "10GB") : الحد الأقصى لحجم نقطة التفتيش قبل تقسيمها إلى أجزاء. ستكون نقاط التفتيش المقسمة بعد ذلك كل منها بحجم أقل من هذا الحجم. إذا تم التعبير عنها كنص، فيجب أن تتكون من أرقام تليها وحدة (مثل "5GB"). إذا تم التعبير عنها كعدد صحيح، فإن الوحدة هي البايت. لاحظ أن هذا الحد الأقصى سيُخفَّض بعد فترة زمنية معينة (بدءًا من أكتوبر 2024) للسماح للمستخدمين بالترقية إلى أحدث إصدار من diffusers. وذلك لإرساء حجم افتراضي مشترك لهذا الحجة عبر مكتبات مختلفة في منظومة Hugging Face (مثل transformers، وaccelerate).

push_to_hub (bool، اختياري، القيمة الافتراضية False) : ما إذا كان سيتم رفع نموذجك إلى Hugging Face Hub بعد حفظه. يمكنك تحديد المستودع الذي تريد الرفع إليه باستخدام repo_id (سيكون الافتراضي هو اسم save_directory ضمن نطاقك).

kwargs (dict[str, Any]، اختياري) : حُجج إضافية تُمرَّر إلى طريقة push_to_hub().

احفظ النموذج وملف إعداده في مجلد بحيث يمكن إعادة تحميله باستخدام طريقة الفئة from_pretrained().

set_attention_backend[[diffusers.ModelMixin.set_attention_backend]]

set_attention_backend(backend: str)

المصدر

المعاملات:

backend (str) : اسم الخلفية (backend) التي سيتم تعيينها. يجب أن يكون أحد الخلفيات المتاحة المعرّفة في AttentionBackendName. يمكن العثور على الخلفيات المتاحة في diffusers.attention_dispatch.AttentionBackendName. الافتراضي هو استخدام الانتباه الأصلي المقيّم بنقطة الضرب (scaled dot product attention) من torch كخلفية.

اضبط واجهة الانتباه للنموذج.

set_use_npu_flash_attention[[diffusers.ModelMixin.set_use_npu_flash_attention]]

set_use_npu_flash_attention(valid: bool)

المصدر

اضبط المفتاح الخاص بـ npu flash attention.

إلى[[diffusers.ModelMixin.to]]

to(*args, **kwargs)

قيمة وهمية لمسار منقّط (مثل torch.float32): سلاسل الوصول إلى السمات، والاستدعاءات تتصرف كمُزيّنات (decorators) مرّرة، وrepr هو المسار المنقّط، وعند استخدامه كصنف أساسي يُستبدل بصنف أساسي من نوع type عادي (بموجب __mro_entries__ في PEP 560)، بحيث تحتفظ الصنوف الفرعية الحقيقية بفئة ميتا (metaclass) عادية، وتقرأ inspect.signature دالة __init__ الحقيقية الخاصة بها بدلاً من تلك الوهمية.

PushToHubMixin[[diffusers.utils.PushToHubMixin]]

diffusers.utils.PushToHubMixin[[diffusers.utils.PushToHubMixin]]

diffusers.utils.PushToHubMixin()

المصدر

مزيج (Mixin) لدفع نموذج أو مجدول أو خط أنابيب إلى Hugging Face Hub.

push_to_hub[[diffusers.utils.PushToHubMixin.push_to_hub]]

push_to_hub(repo_id: str, commit_message: str | None = None, private: bool | None = None, token: str | None = None, create_pr: bool = False, safe_serialization: bool = True, variant: str | None = None, subfolder: str | None = None)

المصدر

المعاملات:

repo_id (str) : اسم المستودع الذي تريد دفع ملفات النموذج أو المجدول أو خط الأنابيب إليه. يجب أن يحتوي على اسم مؤسستك عند الدفع إلى مؤسسة. يمكن أن يكون repo_id أيضًا مسارًا إلى مجلد محلي.

commit_message (str، اختياري) : الرسالة التي سيتم الالتزام بها أثناء الدفع. الافتراضي هو "Upload {object}".

private (bool، اختياري) : ما إذا كان سيتم جعل المستودع خاصًا. إذا كان None (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص. يتم تجاهل هذه القيمة إذا كان المستودع موجودًا بالفعل.

token (str، اختياري) : الرمز الرمزي (التوكن) المستخدم كترخيص HTTP bearer للملفات البعيدة. الرمز الرمزي الذي يتم إنشاؤه عند تشغيل hf auth login (يُخزَّن في ~/.huggingface).

create_pr (bool، اختياري، الافتراضي False) : ما إذا كان سيتم إنشاء طلب سحب (PR) مع الملفات المرفوعة أم الالتزام مباشرة.

safe_serialization (bool، اختياري، الافتراضي True) : ما إذا كان سيتم تحويل أوزان النموذج إلى صيغة safetensors أم لا.

variant (str، اختياري) : إذا تم تحديده، تُحفظ الأوزان بالتنسيق pytorch_model.<variant>.bin.

ارفع ملفات النموذج أو المجدول أو خط الأنابيب إلى 🤗 Hugging Face Hub.

أمثلة:

from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-2", subfolder="unet")

# Push the `unet` to your namespace with the name "my-finetuned-unet".
unet.push_to_hub("my-finetuned-unet")

# Push the `unet` to an organization with the name "my-finetuned-unet".
unet.push_to_hub("your-org/my-finetuned-unet")

Xet Storage Details

Size:
35.5 kB
·
Xet hash:
0029b8d881e91206902608e014312cf9b37f015c8e1af6cd296a4cb421ee2675

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