Home
Login

مكتبة نماذج الانتشار المتقدمة تدعم إنشاء الصور والفيديو والصوت

Apache-2.0Python 29.4khuggingfacediffusers Last Updated: 2025-06-23

🤗 مقدمة تفصيلية لمشروع Diffusers

نظرة عامة على المشروع

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

عنوان المشروع: https://github.com/huggingface/diffusers

الميزات الأساسية

فلسفة التصميم

  • العملية تفوق الأداء (usability over performance)
  • البساطة تفوق السهولة (simple over easy)
  • القابلية للتخصيص تفوق التجريدات (customizability over abstractions)

ثلاثة مكونات أساسية

  1. خطوط أنابيب الانتشار الأكثر تطوراً (Diffusion Pipelines)

    • تشغيل الاستنتاج ببضعة أسطر فقط من التعليمات البرمجية
    • دعم مهام إنشاء متعددة
  2. جداول الضوضاء القابلة للتبديل (Noise Schedulers)

    • دعم سرعات انتشار مختلفة
    • جودة إخراج قابلة للتعديل
  3. نماذج مدربة مسبقاً (Pretrained Models)

    • يمكن استخدامها ككتل بناء
    • يتم دمجها مع الجدولة لإنشاء نظام انتشار شامل

طريقة التثبيت

إصدار PyTorch

# الحزمة الرسمية
pip install --upgrade diffusers[torch]

# إصدار conda الذي يحتفظ به المجتمع
conda install -c conda-forge diffusers

إصدار Flax

pip install --upgrade diffusers[flax]

بداية سريعة

إنشاء نص إلى صورة

from diffusers import DiffusionPipeline
import torch

pipeline = DiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", torch_dtype=torch.float16)
pipeline.to("cuda")
pipeline("An image of a squirrel in Picasso style").images[0]

نظام انتشار مخصص

from diffusers import DDPMScheduler, UNet2DModel
from PIL import Image
import torch

scheduler = DDPMScheduler.from_pretrained("google/ddpm-cat-256")
model = UNet2DModel.from_pretrained("google/ddpm-cat-256").to("cuda")
scheduler.set_timesteps(50)

sample_size = model.config.sample_size
noise = torch.randn((1, 3, sample_size, sample_size), device="cuda")
input = noise

for t in scheduler.timesteps:
    with torch.no_grad():
        noisy_residual = model(input, t).sample
    prev_noisy_sample = scheduler.step(noisy_residual, t, input).prev_sample
    input = prev_noisy_sample

image = (input / 2 + 0.5).clamp(0, 1)
image = image.cpu().permute(0, 2, 3, 1).numpy()[0]
image = Image.fromarray((image * 255).round().astype("uint8"))
image

المهام والنماذج الرئيسية المدعومة

مهمة خط الأنابيب النموذج الموصى به
إنشاء صور غير مشروط DDPMPipeline google/ddpm-ema-church-256
نص إلى صورة StableDiffusionPipeline stable-diffusion-v1-5/stable-diffusion-v1-5
نص إلى صورة (unCLIP) UnCLIPPipeline kakaobrain/karlo-v1-alpha
نص إلى صورة (DeepFloyd IF) IFPipeline DeepFloyd/IF-I-XL-v1.0
نص إلى صورة (Kandinsky) KandinskyPipeline kandinsky-community/kandinsky-2-2-decoder
إنشاء قابل للتحكم StableDiffusionControlNetPipeline lllyasviel/sd-controlnet-canny
تحرير الصور StableDiffusionInstructPix2PixPipeline timbrooks/instruct-pix2pix
صورة إلى صورة StableDiffusionImg2ImgPipeline stable-diffusion-v1-5/stable-diffusion-v1-5
ترميم الصور StableDiffusionInpaintPipeline runwayml/stable-diffusion-inpainting
متغيرات الصور StableDiffusionImageVariationPipeline lambdalabs/sd-image-variations-diffusers
دقة فائقة للصور StableDiffusionUpscalePipeline stabilityai/stable-diffusion-x4-upscaler
دقة فائقة كامنة StableDiffusionLatentUpscalePipeline stabilityai/sd-x2-latent-upscaler

هيكل الوثائق

نوع الوثيقة محتوى التعلم
Tutorial تعلم المهارات الأساسية للمكتبة، مثل استخدام النماذج والجداول الزمنية لبناء نظام انتشار، وتدريب نماذج الانتشار الخاصة بك
Loading كيفية تحميل وتكوين جميع مكونات المكتبة (خطوط الأنابيب والنماذج والجداول الزمنية)، وكيفية استخدام جداول زمنية مختلفة
Pipelines for inference كيفية استخدام خطوط الأنابيب لمهام استنتاج مختلفة، وإنشاء دفعات، والتحكم في مخرجات الإنشاء والعشوائية
Optimization كيفية تحسين خطوط الأنابيب للتشغيل على أجهزة ذات ذاكرة محدودة، وتسريع الاستنتاج
Training كيفية تدريب نماذج الانتشار الخاصة بك لمهام مختلفة

النظام البيئي للمجتمع

المشاريع المتكاملة

  • Microsoft TaskMatrix
  • InvokeAI
  • InstantID
  • Apple ML Stable Diffusion
  • Lama Cleaner
  • Grounded Segment Anything
  • Stable DreamFusion
  • DeepFloyd IF
  • BentoML
  • Kohya_ss

ملخص

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

Star History Chart