تقنية Adversarial Diffusion Distillation (ADD) لتوليد الصور بلحظات
يفضل معالج متعدد الأنوية (مثل AMD اللي عندك) لرفع الصور ومعالجتها.
حد أدنى 16GB RAM للنظام، ويفضل 8GB VRAM على الأقل لكرت الشاشة.
أقل من ثانية واحدة (1-2 Steps) على كروت RTX الفئة المتوسطة.
نقوم بتحميل الموديل مع التحقق من توفر CUDA لاستخدام دقة float16 لتوفير الذاكرة وتسريع التوليد.
from diffusers import AutoPipelineForText2Image
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
# تحميل الموديل مع تحسينات الذاكرة
pipe = AutoPipelineForText2Image.from_pretrained(
"stabilityai/sdxl-turbo",
torch_dtype=torch.float16 if device == "cuda" else torch.float32,
variant="fp16" if device == "cuda" else None
)
pipe.to(device)
# تحسين إضافي للسرعة (فقط للـ CUDA)
if device == "cuda":
pipe.enable_xformers_memory_efficient_attention() # يقلل استهلاك الـ VRAM جداًfrom diffusers import AutoPipelineForText2Image
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
# تحميل الموديل مع تحسينات الذاكرة
pipe = AutoPipelineForText2Image.from_pretrained(
"stabilityai/sdxl-turbo",
torch_dtype=torch.float16 if device == "cuda" else torch.float32,
variant="fp16" if device == "cuda" else None
)
pipe.to(device)
# تحسين إضافي للسرعة (فقط للـ CUDA)
if device == "cuda":
pipe.enable_xformers_memory_efficient_attention() # يقلل استهلاك الـ VRAM جداًلتحقيق أعلى سرعة في محرك ONYX، نستخدم 2 Steps فقط، ونقوم بتعطيل guidance_scale كما توصي Stability AI.
import io
from fastapi import Response
async def generate_image_endpoint(prompt: str):
try:
# توليد الصورة (Turbo Mode)
image = pipe(
prompt=prompt,
num_inference_steps=2, # Turbo يحتاج خطوات قليلة جداً
guidance_scale=0.0, # تعطيله أساسي لسرعة الموديل
width=512,
height=512
).images[0]
# تحويل الصورة لـ JPEG (أخف وأسرع من PNG)
img_byte_arr = io.BytesIO()
image.save(img_byte_arr, format='JPEG', quality=80)
return Response(content=img_byte_arr.getvalue(), media_type="image/jpeg")
except Exception as e:
return {"error": str(e)}import io
from fastapi import Response
async def generate_image_endpoint(prompt: str):
try:
# توليد الصورة (Turbo Mode)
image = pipe(
prompt=prompt,
num_inference_steps=2, # Turbo يحتاج خطوات قليلة جداً
guidance_scale=0.0, # تعطيله أساسي لسرعة الموديل
width=512,
height=512
).images[0]
# تحويل الصورة لـ JPEG (أخف وأسرع من PNG)
img_byte_arr = io.BytesIO()
image.save(img_byte_arr, format='JPEG', quality=80)
return Response(content=img_byte_arr.getvalue(), media_type="image/jpeg")
except Exception as e:
return {"error": str(e)}diffusers>=0.24.0
transformers
accelerate
torch
xformers # اختيارية لتسريع الكرتdiffusers>=0.24.0
transformers
accelerate
torch
xformers # اختيارية لتسريع الكرتAuthor: ONYX (2026)
Base Model: SDXL-Turbo