تثبيت Stable Diffusion: إنتاج صور مستضاف ذاتياً
تثبيت Stable Diffusion، واجهات AUTOMATIC1111 و ComfyUI، تنزيل النماذج، تدريب LoRA، استخدام ControlNet وإنتاج صور مستضاف ذاتياً مع Docker.
جدول المحتويات
تثبيت Stable Diffusion: إنتاج صور مستضاف ذاتياً
Stable Diffusion هو نموذج ذكاء اصطناعي مفتوح المصدر ينتج صوراً من النص. بتشغيله على خادمك الخاص، يمكنك إنتاج صور غير محدودة، وتدريب نماذج مخصصة، والعمل بخصوصية كاملة. يغطي هذا الدليل تثبيت AUTOMATIC1111 Web UI و ComfyUI، وإدارة النماذج، واستخدام LoRA و ControlNet بالتفصيل.
ما هو Stable Diffusion؟
Stable Diffusion هو نموذج انتشار كامن طورته Stability AI. الميزات الرئيسية:
- نص إلى صورة (txt2img): إنتاج صور من أوصاف نصية
- صورة إلى صورة (img2img): إنتاج صور جديدة باستخدام صور موجودة كمرجع
- Inpainting: تعديل مناطق محددة من الصورة
- ControlNet: إنتاج متحكم به باستخدام خرائط الوضعية والحواف والعمق
- LoRA: ضبط دقيق للنموذج بموارد منخفضة
- Upscaling: تكبير الصور منخفضة الدقة
متطلبات النظام
| المكون | الحد الأدنى | الموصى به |
|---|---|---|
| GPU | NVIDIA 6 جيجابايت VRAM | NVIDIA 12 جيجابايت+ VRAM |
| RAM | 16 جيجابايت | 32 جيجابايت+ |
| القرص | 30 جيجابايت | 100 جيجابايت+ (للنماذج) |
| نظام التشغيل | Ubuntu 22.04 LTS | Ubuntu 22.04/24.04 LTS |
| CUDA | 11.8+ | 12.1+ |
| Python | 3.10+ | 3.10.x |
تثبيت AUTOMATIC1111 Web UI
AUTOMATIC1111 هو أشهر واجهة ويب لـ Stable Diffusion.
التثبيت اليدوي
# التبعيات
sudo apt-get update
sudo apt-get install -y python3-venv python3-pip git wget
# استنساخ المستودع
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# تنزيل النموذج (Stable Diffusion XL)
wget -O models/Stable-diffusion/sd_xl_base_1.0.safetensors \
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
# التشغيل
./webui.sh --listen --port 7860 --xformers --enable-insecure-extension-access
Docker مع AUTOMATIC1111
version: '3.8'
services:
stable-diffusion:
image: ghcr.io/abetlen/stable-diffusion-webui-docker:latest
container_name: sd-webui
ports:
- "7860:7860"
volumes:
- sd_models:/app/models
- sd_outputs:/app/outputs
- sd_extensions:/app/extensions
environment:
- COMMANDLINE_ARGS=--listen --xformers --enable-insecure-extension-access --no-half-vae
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
volumes:
sd_models:
sd_outputs:
sd_extensions:
تثبيت ComfyUI
ComfyUI هو واجهة Stable Diffusion متقدمة قائمة على العقد. مثالي لإنشاء سير عمل معقدة.
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
source venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
python main.py --listen 0.0.0.0 --port 8188
تنزيل وإدارة النماذج
# Stable Diffusion XL Base
wget -O models/Stable-diffusion/sd_xl_base_1.0.safetensors \
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
# Stable Diffusion 1.5 (لـ VRAM منخفض)
wget -O models/Stable-diffusion/v1-5-pruned-emaonly.safetensors \
"https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"
استخدام LoRA
LoRA (Low-Rank Adaptation) يسمح بالضبط الدقيق للنماذج الكبيرة بموارد منخفضة.
mkdir -p models/Lora
استخدام LoRA في prompt الخاص بـ AUTOMATIC1111:
a beautiful landscape, mountains, sunset <lora:detail-enhancer:0.7>
تثبيت ControlNet
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git
mkdir -p models/ControlNet
wget -O models/ControlNet/control_v11p_sd15_canny.pth \
"https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth"
إنتاج الصور عبر API
import requests
import base64
from pathlib import Path
def generate_image(prompt, negative_prompt="", steps=30, width=1024, height=1024):
url = "http://localhost:7860/sdapi/v1/txt2img"
payload = {
"prompt": prompt,
"negative_prompt": negative_prompt,
"steps": steps,
"width": width,
"height": height,
"sampler_name": "DPM++ 2M Karras",
"cfg_scale": 7,
"seed": -1
}
response = requests.post(url, json=payload)
result = response.json()
image_data = base64.b64decode(result["images"][0])
Path("output.png").write_bytes(image_data)
print("تم حفظ الصورة: output.png")
generate_image(
prompt="a futuristic data center, neon lights, cyberpunk style, 8k",
negative_prompt="blurry, low quality, distorted"
)
تحسين الأداء
pip install xformers
./webui.sh --listen --xformers --opt-sdp-attention --no-half-vae --medvram --port 7860
معلمات توفير الذاكرة
| المعلمة | الوصف | توفير VRAM |
|---|---|---|
| --xformers | xformers attention | متوسط |
| --medvram | وضع VRAM متوسط | عالي |
| --lowvram | وضع VRAM منخفض | عالي جداً |
| --opt-sdp-attention | SDP attention | متوسط |
| --no-half-vae | VAE float32 | تحسين الجودة |
أنتج صوراً غير محدودة مع Stable Diffusion على خوادم REXE GPU. نماذج SDXL تعمل بسرعة عالية مع NVIDIA A100 GPU.
مقالات ذات صلة
تثبيت Ollama: دليل تشغيل نماذج اللغة الكبيرة محلياً
تثبيت Ollama، تشغيل نماذج LLM المحلية (Llama 3، Mistral، Gemma)، استخدام API، إدارة النماذج، تسريع GPU والنشر عبر Docker.
تثبيت Open WebUI: ذكاء اصطناعي محلي بواجهة شبيهة بـ ChatGPT
تثبيت Open WebUI عبر Docker، التكامل مع Ollama، إدارة المستخدمين، RAG (استعلام المستندات)، إدارة النماذج ودعم المستخدمين المتعددين.
نشر نماذج الذكاء الاصطناعي على خادم GPU: دليل NVIDIA CUDA
تثبيت تعريفات NVIDIA، مجموعة أدوات CUDA، nvidia-container-toolkit، خدمة النماذج مع vLLM، مراقبة GPU ونشر نماذج AI مع Docker.