Diffusers documentation

HeunDiscreteScheduler

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HeunDiscreteScheduler

مجدول هوين (الخوارزمية 1) مستمد من ورقة إيضاح مساحة التصميم للنماذج التوليدية القائمة على الانتشار التي كتبها كاراس وآخرون. تم نقل هذا المجدول من مكتبة k-diffusion التي أنشأتها كاترين كروسون.

HeunDiscreteScheduler

فئة diffusers.HeunDiscreteScheduler

< >

( num_train_timesteps: int = 1000beta_start: float = 0.00085beta_end: float = 0.012beta_schedule: str = 'linear'trained_betas: numpy.ndarray | list[float] | None = Noneprediction_type: str = 'epsilon'use_karras_sigmas: bool = Falseuse_exponential_sigmas: bool = Falseuse_beta_sigmas: bool = Falseclip_sample: bool = Falseclip_sample_range: float = 1.0timestep_spacing: typing.Literal['linspace', 'leading', 'trailing'] = 'linspace'steps_offset: int = 0 )

المعاملات

  • num_train_timesteps (int، القيمة الافتراضية 1000) — عدد خطوات الانتشار لتدريب النموذج.
  • beta_start (float، القيمة الافتراضية 0.0001) — قيمة beta الابتدائية للاستدلال.
  • beta_end (float، القيمة الافتراضية 0.02) — قيمة beta النهائية.
  • beta_schedule ("linear"، "scaled_linear"، "squaredcos_cap_v2"، أو "exp"، الافتراضي هو "linear") — جدول بيتا، وهو إسقاط من نطاق بيتا إلى تسلسل من قيم بيتا لتقدم النموذج خطوة بخطوة. اختر من بين linear، scaled_linear، squaredcos_cap_v2، أو exp.
  • trained_betas (np.ndarray، اختياري) — مرر مصفوفة من قيم بيتا مباشرةً إلى منشئ الكائن لتجاوز beta_start وbeta_end.
  • prediction_type ("epsilon", "sample", or "v_prediction", defaults to "epsilon", optional) — Prediction type of the scheduler function; can be epsilon (predicts the noise of the diffusion process), sample (directly predicts the noisy sample) or v_prediction` (see section 2.4 of Imagen Video paper).
  • clip_sample (bool، القيمة الافتراضية True) — يقوم بقص العينة المتوقعة من أجل الاستقرار العددي.
  • clip_sample_range (float، القيمة الافتراضية 1.0) — الحد الأقصى لشدة قص العينات. صالح فقط عندما يكون clip_sample=True.
  • use_karras_sigmas (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام Karras sigmas لحجم الخطوات في جدول الضوضاء أثناء عملية أخذ العينات. إذا كانت True، فإن قيم sigmas تُحدَّد وفقاً لسلسلة من مستويات الضوضاء {σi}.
  • use_exponential_sigmas (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام قيم sigmas أسّية لحجم الخطوات في جدول الضوضاء أثناء عملية أخذ العينات.
  • use_beta_sigmas (bool, optional, defaults to False) — Whether to use beta sigmas for step sizes in the noise schedule during the sampling process. Refer to Beta Sampling is All You Need for more information.
  • timestep_spacing ("linspace"، "leading"، أو "trailing"، الافتراضي هو "linspace") — طريقة توسيع خطوات الزمن. راجع الجدول 2 في جداول ضوضاء الانتشار الشائعة وخطوات العينة معيبة لمزيد من المعلومات.
  • steps_offset (int، القيمة الافتراضية 0) — إزاحة تُضاف إلى خطوات الاستدلال، كما تتطلبها بعض عائلات النماذج.

مجدول بخطوات هون لجدولة بيتا المنفصلة.

يرث هذا النموذج من SchedulerMixin و ConfigMixin. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع مجدوليات الوقت مثل التحميل والحفظ.

add_noise

< >

( original_samples: Tensornoise: Tensortimesteps: Tensor ) → torch.Tensor

المعاملات

  • original_samples (torch.Tensor) — العينات الأصلية التي سيتم إضافة الضوضاء إليها.
  • noise (torch.Tensor) — مصفوفة الضوضاء التي تُضاف إلى العينات الأصلية.
  • timesteps (torch.Tensor) — خطوات الزمن التي يُضاف عندها الضوضاء، والتي تحدد مستوى الضوضاء من الجدول الزمني.

يعيد

torch.Tensor

العينات الضوضائية مع ضوضاء مضافة مُقيّمة وفقًا لجدول خطوات الزمن.

أضف الضوضاء إلى العينات الأصلية وفقًا لجدول الضوضاء عند خطوات الزمن المحددة.

index_for_timestep

< >

( timestep: typing.Union[float, torch.Tensor]schedule_timesteps: typing.Optional[torch.Tensor] = None ) → int

المعاملات

  • timestep (float أو torch.Tensor) — قيمة الخطوة الزمنية التي يجب البحث عنها في الجدول الزمني.
  • schedule_timesteps (torch.Tensor، اختياري) — جدول الخطوات الزمنية للبحث فيه. إذا كان None، يتم استخدام self.timesteps.

يعيد

int

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

ابحث عن فهرس خطوة زمنية محددة في جدول الخطوات الزمنية.

scale_model_input

< >

( sample: Tensortimestep: typing.Union[float, torch.Tensor] ) → torch.Tensor

المعاملات

  • sample (torch.Tensor) — العينة المدخلة.
  • timestep (float أو torch.Tensor) — خطوة الزمن الحالية في سلسلة الانتشار.

يعيد

torch.Tensor

عينة إدخال مُقيّمة.

يضمن قابلية الاستبدال مع المجدولات التي تحتاج إلى تحجيم مدخلات نموذج إزالة الضوضاء اعتمادًا على خطوة الزمن الحالية.

set_begin_index

< >

( begin_index: int = 0 )

المعاملات

  • begin_index (int، القيمة الافتراضية 0) — الفهرس الابتدائي للمجدول.

يحدد الفهرس الابتدائي للمجدول. يجب تشغيل هذه الدالة من خط الأنابيب قبل الاستدلال.

set_timesteps

< >

( num_inference_steps: int | None = Nonedevice: typing.Union[str, torch.device] = Nonenum_train_timesteps: int | None = Nonetimesteps: list[int] | None = None )

المعاملات

  • num_inference_steps (int، اختياري، القيمة الافتراضية None) — عدد خطوات الانتشار المستخدمة عند توليد العينات باستخدام نموذج مُدرَّب مسبقًا.
  • device (str، torch.device، اختياري، القيمة الافتراضية None) — الجهاز الذي يجب نقل خطوات الزمن (timesteps) إليه. إذا كانت None، فلن يتم نقل خطوات الزمن.
  • num_train_timesteps (int، اختياري، القيمة الافتراضية None) — عدد خطوات الانتشار المستخدمة عند تدريب النموذج. إذا كانت None، يتم استخدام الخاصية الافتراضية num_train_timesteps.
  • timesteps (list[int]، اختياري) — خطوات زمنية مخصصة تُستخدم لدعم تباعد تعسفي بين الخطوات الزمنية. إذا كانت None، فسيتم توليد الخطوات الزمنية بناءً على خاصية timestep_spacing. إذا تم تمرير timesteps، فيجب أن تكون num_inference_steps مساوية لـ None، وسيتم تجاهل خاصية timestep_spacing.

يحدد الخطوات الزمنية المنفصلة المستخدمة لسلسلة الانتشار (لتُنفَّذ قبل الاستدلال).

خطوة

< >

( model_output: typing.Union[torch.Tensor, numpy.ndarray]timestep: typing.Union[float, torch.Tensor]sample: typing.Union[torch.Tensor, numpy.ndarray]return_dict: bool = True ) → HeunDiscreteSchedulerOutput or tuple

المعاملات

  • model_output (torch.Tensor) — المخرجات المباشرة من نموذج الانتشار المُتعلَّم.
  • timestep (float) — خطوة الزمن المنفصلة الحالية في سلسلة الانتشار.
  • sample (torch.Tensor) — نسخة حالية من العينة التي أنشأها عملية الانتشار.
  • return_dict (bool) — ما إذا كان يجب إرجاع HeunDiscreteSchedulerOutput أو tuple.

يعيد

HeunDiscreteSchedulerOutput أو tuple

If return_dict is True, HeunDiscreteSchedulerOutput is returned, otherwise a tuple is returned where the first element is the sample tensor.

تنبّأ بالعيّنة من الخطوة الزمنية السابقة عن طريق عكس عملية المعادلة التفاضلية العشوائية (SDE). تنقل هذه الدالة عملية الانتشار من مخرجات النموذج المُتعلَّم (والتي تكون في الغالب الضوضاء المتنبَّأ بها).

SchedulerOutput

فئة diffusers.schedulers.scheduling_utils.SchedulerOutput

< >

( prev_sample: Tensor )

المعاملات

  • prev_sample (torch.Tensor من الشكل (batch_size, num_channels, height, width) للصور) — العينة المحسوبة (x_{t-1}) لخطوة الزمن السابقة. يجب استخدام prev_sample كمدخل للنموذج التالي في حلقة إزالة الضوضاء.

الفئة الأساسية لمخرجات دالة step في المجدول.

Update on GitHub