Buckets:

mishig's picture
|
download
raw
6.59 kB

DDPM

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

ملخص الورقة البحثية هو:

نقدّم نتائج عالية الجودة لتوليد الصور باستخدام نماذج الاحتمالية الانتشارية، وهي فئة من نماذج المتغيرات الكامنة مستوحاة من اعتبارات الديناميكا الحرارية غير المتوازنة. نحصل على أفضل نتائجنا من خلال التدريب على حدّ تقريبي مرجّح مصمّم وفقاً لارتباط جديد بين النماذج الاحتمالية الانتشارية ومطابقة درجات إزالة الضوضاء مع ديناميكا لانجفين، وتقبل نماذجنا بشكل طبيعي مخططاً لتفكيك ضاغط تدريجي خاسر يمكن تفسيره كتعميم لفك الترميز الذاتي التتابعي. على مجموعة بيانات CIFAR10 غير الشرطية، نحصل على درجة Inception تبلغ 9.46 ودرجة FID متقدمة تبلغ 3.17. على LSUN بدقة 256x256، نحصل على جودة عينات مماثلة لتلك التي يقدمها ProgressiveGAN.

يمكن العثور على قاعدة الكود الأصلية في hohonathanho/diffusion.

تأكد من الاطلاع على دليل المجدولين لمعرفة كيفية استكشاف التوازن بين سرعة المجدول وجودة النتائج، واطّلع على قسم إعادة استخدام المكونات عبر خطوط الأنابيب لمعرفة كيفية تحميل نفس المكونات بكفاءة في خطوط أنابيب متعددة.

DDPMPipeline[[diffusers.DDPMPipeline]]

diffusers.DDPMPipeline[[diffusers.DDPMPipeline]]

diffusers.DDPMPipeline(unet: UNet2DModel, scheduler: DDPMScheduler)

المصدر

المعاملات:

unet (UNet2DModel) : نموذج UNet2DModel لإزالة الضوضاء من الكامنات المُرمّزة للصورة.

scheduler (SchedulerMixin) : مُجدول يُستخدم بالاقتران مع unet لإزالة الضوضاء من الصورة المُرمّزة. يمكن أن يكون أحد DDPMScheduler، أو DDIMScheduler.

خط أنابيب لتوليد الصور.

يرث هذا النموذج من DiffusionPipeline. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة المُنفَّذة لجميع خطوط الأنابيب (التنزيل، الحفظ، التشغيل على جهاز معين، إلخ).

call[[diffusers.DDPMPipeline.call]]

__call__(batch_size: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, num_inference_steps: int = 1000, output_type: str | None = 'pil', return_dict: bool = True)

المصدر

المعاملات:

batch_size (int، اختياري، القيمة الافتراضية 1) : عدد الصور التي سيتم توليدها.

generator (torch.Generator، اختياري) : torch.Generator لجعل التوليد حتميًا.

num_inference_steps (int، اختياري، القيمة الافتراضية 1000) : عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة ذات جودة أعلى على حساب بطء الاستدلال.

output_type (str، اختياري، الافتراضي "pil") : صيغة الصورة المولّدة. اختر بين "pil" (PIL.Image) أو "np" (np.array) أو "pt" (torch.Tensor).

return_dict (bool، اختياري، القيمة الافتراضية True) : ما إذا كان يجب إرجاع ImagePipelineOutput بدلاً من tuple عادي.

يعيد: ImagePipelineOutput أو tuple

إذا كان return_dict هو True، يُعاد ImagePipelineOutput، وإلا يُعاد tuple يكون عنصره الأول قائمة بالصور المولّدة

دالة الاستدعاء call لخط الأنابيب pipeline الخاص بالتوليد.

مثال:

>>> from diffusers import DDPMPipeline

>>> # load model and scheduler
>>> pipe = DDPMPipeline.from_pretrained("google/ddpm-cat-256")

>>> # run pipeline in inference (sample random noise and denoise)
>>> image = pipe().images[0]

>>> # save image
>>> image.save("ddpm_generated_image.png")

ImagePipelineOutput[[diffusers.ImagePipelineOutput]]

diffusers.ImagePipelineOutput[[diffusers.ImagePipelineOutput]]

diffusers.ImagePipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)

المصدر

المعاملات:

images (List[PIL.Image.Image] أو np.ndarray) : قائمة من صور PIL منزوعة الضوضاء بطول batch_size أو مصفوفة NumPy بأبعاد (batch_size, height, width, num_channels).

فئة الإخراج لخطوط أنابيب الصور.

Xet Storage Details

Size:
6.59 kB
·
Xet hash:
11506dbcd82c9661302473c765ccc99377ed591f0b176a1bd9197e87836e3f79

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