Diffusers documentation

النماذج

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

النماذج

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

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

ModelMixin

فئة diffusers.ModelMixin

< >

( )

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

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

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

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

( *args**kwargs )

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

dequantize

< >

( )

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

تعطيل نقطة التفتيش للتدرجات

< >

( )

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

disable_npu_flash_attention

< >

( )

تعطيل npu flash attention من torch_npu

disable_xformers_memory_efficient_attention

< >

( )

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

disable_xla_flash_attention

< >

( )

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

enable_gradient_checkpointing

< >

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

المعاملات

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

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

enable_group_offload

< >

( onload_device: deviceoffload_device: device = torch.device()offload_type: str = 'block_level'num_blocks_per_group: int | None = Nonenon_blocking: bool = Falseuse_stream: bool = Falserecord_stream: bool = Falselow_cpu_mem_usage = Falseoffload_to_disk_path: str | None = Noneblock_modules: str | None = Noneexclude_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

< >

( storage_dtype: dtype = torch.float8_e4m3fncompute_dtype: typing.Optional[torch.dtype] = Noneskip_modules_pattern: tuple[str, ...] | None = Noneskip_modules_classes: tuple[typing.Type[torch.nn.Module], ...] | None = Nonenon_blocking: bool = False )

المعاملات

  • storage_dtype (torch.dtype) — نوع البيانات (dtype) الذي يجب تحويل النموذج إليه للتخزين.
  • compute_dtype (torch.dtype) — نوع البيانات الذي يجب تحويل أوزان النموذج إليه أثناء المرور الأمامي.
  • skip_modules_pattern (tuple[str, ...]، اختياري) — قائمة بأنماط مطابقة لأسماء الوحدات التي يجب تجاوزها أثناء عملية الصب على مستوى الطبقات. إذا تم ضبطه على None، تُستخدم أنماط التجاوز الافتراضية لتجاهل بعض الطبقات الداخلية للوحدات وطبقات PEFT.
  • skip_modules_classes (tuple[Type[torch.nn.Module], ...]، اختياري) — قائمة بفئات الوحدات التي يجب تجاوزها أثناء عملية الصب الطبقي (layerwise casting).
  • non_blocking (bool، اختياري، القيمة الافتراضية False) — إذا كانت True، فإن عمليات تحويل الأوزان غير حاصِرة.

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

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

بشكل افتراضي، تُعيّن معظم النماذج في diffusers الخاصية _skip_layerwise_casting_patterns لتجاهل طبقات تضمين البقع (patch embedding) وتضمين الموضع (positional embedding) وطبقات التطبيع. والسبب في ذلك أن هذه الطبقات غالباً ما تكون حساسة للدقة من حيث الجودة. إذا كنت ترغب في تغيير هذا السلوك، يمكنك تعيين الخاصية _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

< >

( )

تفعيل npu flash attention من torch_npu

enable_xformers_memory_efficient_attention

< >

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

المعاملات

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

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

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

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

أمثلة:

>>> 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

< >

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

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

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) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال {'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 للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة Git.
  • subfolder (str، اختياري، الافتراضي "") — موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا.
  • mirror (str، اختياري) — مصدر مرآة لحل مشاكل إمكانية الوصول إذا كنت تقوم بتنزيل نموذج في الصين. نحن لا نضمن حداثة المصدر أو أمانه، وينبغي لك الرجوع إلى موقع المرآة لمزيد من المعلومات.
  • device_map (int | str | torch.device أو dict[str, int | str | torch.device], اختياري) — خريطة تحدد المكان الذي يجب أن يذهب إليه كل وحدة فرعية. لا حاجة لتحديدها لكل اسم معلمات/مخزن مؤقت؛ بمجرد إدخال اسم وحدة معينة، سيتم إرسال جميع وحداتها الفرعية إلى نفس الجهاز. القيمة الافتراضية هي None, ما يعني أن النموذج سيُحمَّل على وحدة المعالجة المركزية (CPU).

    أمثلة:

    >>> 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، يتم نقل قاموس الحالة على وحدة المعالجة المركزية مؤقتًا إلى القرص الصلب لتجنب نفاد ذاكرة وحدة المعالجة المركزية إذا لم يتسع وزن قاموس الحالة على وحدة المعالجة المركزية + أكبر شريحة من نقطة الحفظ. القيمة الافتراضية هي True عند وجود أي نقل إلى القرص.
  • 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], *optional*, defaults to {}) -- Kwargs passed to [flashpack.deserialization.assign_from_file`](https://github.com/fal-ai/flashpack/blob/f1aa91c5cd9532a3dbf5bcc707ab9b01c274b76c/src/flashpack/deserialization.py#L408-L422)

أنشئ نموذج 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

< >

( return_buffers = True )

المعاملات

  • return_buffers (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم إرجاع حجم تينسورات المخازن المؤقتة (buffers) في حساب البصمة الذاكرة. المخازن المؤقتة هي تينسورات لا تتطلب تدرجات (gradients) ولم تُسجَّل كمعاملات (parameters). على سبيل المثال، المتوسط والانحراف المعياري في طبقات تطبيع الدفعة (batch norm). يرجى الاطلاع على: 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

< >

( only_trainable: bool = Falseexclude_embeddings: bool = False ) → int

المعاملات

  • 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

< >

( )

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

save_pretrained

< >

( save_directory: str | os.PathLikeis_main_process: bool = Truesave_function: typing.Optional[typing.Callable] = Nonesafe_serialization: bool = Truevariant: str | None = Nonemax_shard_size: int | str = '10GB'push_to_hub: bool = Falseuse_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

< >

( backend: str )

المعاملات

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

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

set_use_npu_flash_attention

< >

( valid: bool )

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

إلى

( *args**kwargs )

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

PushToHubMixin

فئة diffusers.utils.PushToHubMixin

< >

( )

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

push_to_hub

< >

( repo_id: strcommit_message: str | None = Noneprivate: bool | None = Nonetoken: str | None = Nonecreate_pr: bool = Falsesafe_serialization: bool = Truevariant: str | None = Nonesubfolder: 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")
Update on GitHub