Diffusers documentation
النماذج
النماذج
🤗 توفّر مكتبة Diffusers نماذج مُدرَّبة مسبقًا لخوارزميات شائعة، ووحدات لإنشاء أنظمة انتشار مخصّصة. الوظيفة الأساسية للنماذج هي إزالة الضوضاء من عينة مدخلة كما تمثّلها التوزيع .
تُبنى جميع النماذج من الفئة الأساسية ModelMixin وهي torch.nn.Module توفر الوظائف الأساسية لحفظ النماذج وتحميلها، محليًا ومن Hugging Face Hub.
ModelMixin
الفئة الأساسية لجميع النماذج.
يتولى ModelMixin مهمة تخزين إعدادات النموذج، ويوفر طرقًا لتحميل النماذج وتنزيلها وحفظها.
- config_name (
str) — اسم الملف الذي يُحفظ به النموذج عند استدعاء save_pretrained().
يُجمّع فقط الوحدات الفرعية المتكررة بشكل متكرر في النموذج (مثل طبقات Transformer) بدلاً من
تجميع النموذج بأكمله. يمكن لهذه التقنية—التي تُعرف غالباً بـ التجميع الإقليمي (انظر وصفة PyTorch https://docs.pytorch.org/tutorials/recipes/regional_compilation.html) أن تقلل زمن التجميع من البداية إلى النهاية
بشكل كبير، مع الحفاظ على تسريع وقت التشغيل الذي تتوقعه من torch.compile الكامل.
يتم اكتشاف مجموعة الوحدات الفرعية التي يجب تجميعها من خلال وجود خاصية _repeated_blocks في تعريف النموذج. عرّف هذه الخاصية على فئة النموذج الفرعية الخاصة بك على أنها قائمة/مجموعة من أسماء الفئات (نصوص). سيتم تجميع كل وحدة تطابق اسم فئتها.
بمجرد اكتشافها، يُجمَّع كل وحدة فرعية مطابقة عن طريق استدعاء submodule.compile(*args, **kwargs). أي معاملات موضعية أو معاملات مُسمّاة تُمرّرها إلى compile_repeated_blocks ستُمرَّر كما هي إلى torch.compile.
قيمة وهمية لمسار منقّط (مثل torch.float32): سلاسل الوصول إلى السمات، والاستدعاءات تتصرف كمُزيّنات (decorators) مرّرة، وrepr هو المسار المنقّط، وعند استخدامه كصنف أساسي يُستبدل بصنف أساسي من نوع type عادي (بموجب __mro_entries__ في PEP 560)، بحيث تحتفظ الصنوف الفرعية الحقيقية بفئة ميتا (metaclass) عادية، وتقرأ inspect.signature دالة __init__ الحقيقية الخاصة بها بدلاً من تلك الوهمية.
قد يكون من الضروري إلغاء تكميم النموذج في حال تم تكميمه بطريقة تكميم تدعم إلغاء التكميم.
يعطّل نقطة التفتيش للتدرجات (gradients) للنموذج الحالي (قد يُشار إليها باسم نقطة التفتيش للتفعيلات أو نقاط تفتيش التفعيلات في أطر عمل أخرى).
تعطيل npu flash attention من torch_npu
تعطيل الانتباه الموفّر للذاكرة من xFormers.
تعطيل نواة flash attention pallals لـ torch_xla.
enable_gradient_checkpointing
< source >( gradient_checkpointing_func: typing.Optional[typing.Callable] = None )
يُفعّل فحص التدرّجات (gradient checkpointing) للنموذج الحالي (قد يُشار إليه باسم فحص التفعيلات أو فحص التفعيلات في أطر عمل أخرى).
enable_group_offload
< source >( 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
< source >( 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)تفعيل npu flash attention من torch_npu
enable_xformers_memory_efficient_attention
< source >( 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
< source >( partition_spec: typing.Optional[typing.Callable] = None**kwargs )
تفعيل نواة flash attention pallals لـ torch_xla.
from_pretrained
< source >( 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
< source >( 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
< source >( only_trainable: bool = Falseexclude_embeddings: bool = False ) → int
احصل على عدد (المعاملات القابلة للتدريب أو غير التضمينية) في الوحدة.
يعيد تعيين واجهة الانتباه الخلفية للنموذج. ستستخدم الاستدعاءات اللاحقة لـforward الافتراضي البيئي، إذا كان مضبوطاً، أو الانتباه الأصلي لمنتج النقاط المتدرج في torch.
save_pretrained
< source >( 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().
اضبط واجهة الانتباه للنموذج.
اضبط المفتاح الخاص بـ npu flash attention.
قيمة وهمية لمسار منقّط (مثل torch.float32): سلاسل الوصول إلى السمات، والاستدعاءات تتصرف كمُزيّنات (decorators) مرّرة، وrepr هو المسار المنقّط، وعند استخدامه كصنف أساسي يُستبدل بصنف أساسي من نوع type عادي (بموجب __mro_entries__ في PEP 560)، بحيث تحتفظ الصنوف الفرعية الحقيقية بفئة ميتا (metaclass) عادية، وتقرأ inspect.signature دالة __init__ الحقيقية الخاصة بها بدلاً من تلك الوهمية.
PushToHubMixin
مزيج (Mixin) لدفع نموذج أو مجدول أو خط أنابيب إلى Hugging Face Hub.
push_to_hub
< source >( 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")