Diffusers documentation

DDIMInverseScheduler

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DDIMInverseScheduler

DDIMInverseScheduler هو المجدول المعكوس من Denoising Diffusion Implicit Models (DDIM) بواسطة Jiaming Song و Chenlin Meng و Stefano Ermon. يعتمد التنفيذ بشكل كبير على تعريف عكس DDIM من Null-text Inversion for Editing Real Images using Guided Diffusion Models.

DDIMInverseScheduler

فئة diffusers.DDIMInverseScheduler

< >

( num_train_timesteps: int = 1000beta_start: float = 0.0001beta_end: float = 0.02beta_schedule: typing.Literal['linear', 'scaled_linear', 'squaredcos_cap_v2'] = 'linear'trained_betas: numpy.ndarray | list[float] | None = Noneclip_sample: bool = Trueset_alpha_to_one: bool = Truesteps_offset: int = 0prediction_type: typing.Literal['epsilon', 'sample', 'v_prediction'] = 'epsilon'clip_sample_range: float = 1.0timestep_spacing: typing.Literal['leading', 'trailing'] = 'leading'rescale_betas_zero_snr: bool = False**kwargs )

المعاملات

  • num_train_timesteps (int، القيمة الافتراضية 1000) — عدد خطوات الانتشار لتدريب النموذج.
  • beta_start (float، القيمة الافتراضية 0.0001) — قيمة beta الابتدائية للاستدلال.
  • beta_end (float، القيمة الافتراضية 0.02) — قيمة beta النهائية.
  • beta_schedule (str، القيمة الافتراضية "linear") — جدول بيتا، وهو إسناد من نطاق بيتا إلى تسلسل من قيم بيتا لتخطي النموذج. اختر من بين linear أو scaled_linear أو squaredcos_cap_v2.
  • trained_betas (np.ndarray، اختياري) — مرر مصفوفة من قيم بيتا مباشرةً إلى منشئ الكائن لتجاوز beta_start وbeta_end.
  • clip_sample (bool، القيمة الافتراضية True) — يقوم بقص العينة المتوقعة من أجل الاستقرار العددي.
  • clip_sample_range (float، القيمة الافتراضية 1.0) — الحد الأقصى لشدة قص العينات. صالح فقط عندما يكون clip_sample=True.
  • set_alpha_to_one (bool، القيمة الافتراضية True) — يستخدم كل خطوة من خطوات الانتشار قيمة حاصل ضرب الألفا في تلك الخطوة وفي الخطوة السابقة. لا توجد ألفا سابقة للخطوة الأخيرة. عند تعيين هذا الخيار إلى True يتم تثبيت حاصل ضرب الألفا السابقة عند 0، وإلا فإنه يستخدم قيمة الألفا في الخطوة num_train_timesteps - 1.
  • steps_offset (int، القيمة الافتراضية 0) — إزاحة تُضاف إلى خطوات الاستدلال، كما تتطلبها بعض عائلات النماذج.
  • prediction_type (str, 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).
  • timestep_spacing (str، القيمة الافتراضية "leading") — طريقة توسيع خطوات الزمن. راجع الجدول 2 في جداول ضوضاء الانتشار الشائعة وخطوات العينات معيبة لمزيد من المعلومات.
  • rescale_betas_zero_snr (bool، القيمة الافتراضية False) — ما إذا كان يجب إعادة مقياس معاملات بيتا (betas) بحيث تكون نسبة الإشارة إلى الضوضاء النهائية (terminal SNR) صفرًا. يتيح هذا للنموذج توليد عينات ساطعة جدًا ومظلمة جدًا بدلاً من تقييده بتوليد عينات بإضاءة متوسطة. يرتبط ارتباطًا فضفاضًا بـ --offset_noise.

DDIMInverseScheduler هو المجدول العكسي لـ DDIMScheduler.

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

scale_model_input

< >

( sample: Tensortimestep: int | None = None ) → torch.Tensor

المعاملات

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

يعيد

torch.Tensor

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

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

set_timesteps

< >

( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = None )

المعاملات

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

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

خطوة

< >

( model_output: Tensortimestep: intsample: Tensorreturn_dict: bool = True ) → ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput or tuple

المعاملات

  • model_output (torch.Tensor) — المخرجات المباشرة من نموذج الانتشار المُتعلَّم.
  • timestep (int) — خطوة الزمن المنفصلة الحالية في سلسلة الانتشار.
  • sample (torch.Tensor) — نسخة حالية من العينة التي أنشأها عملية الانتشار.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput أو tuple.

يعيد

~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput أو tuple

If return_dict is True, ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput is returned, otherwise a tuple is returned where the first element is the sample tensor.

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

Update on GitHub