Stable Diffusion Kurulumu: Self-Hosted Görsel Üretimi
Stable Diffusion kurulumu, AUTOMATIC1111 ve ComfyUI arayüzleri, model indirme, LoRA eğitimi, ControlNet kullanımı ve Docker ile self-hosted görsel üretimi rehberi.
İçindekiler
Stable Diffusion Kurulumu: Self-Hosted Görsel Üretimi
Stable Diffusion, metinden görsel üreten açık kaynaklı bir yapay zeka modelidir. Kendi sunucunuzda çalıştırarak sınırsız görsel üretimi yapabilir, özel modeller eğitebilir ve tam gizlilik ile çalışabilirsiniz. Bu rehberde AUTOMATIC1111 Web UI ve ComfyUI kurulumunu, model yönetimini, LoRA ve ControlNet kullanımını detaylı olarak ele alacağız.
Stable Diffusion Nedir?
Stable Diffusion, Stability AI tarafından geliştirilen bir latent diffusion modelidir. Temel özellikleri:
- Metin-Görsel (txt2img): Metin açıklamasından görsel üretimi
- Görsel-Görsel (img2img): Mevcut görseli referans alarak yeni görsel üretimi
- Inpainting: Görselin belirli bölgelerini düzenleme
- ControlNet: Poz, kenar ve derinlik haritası ile kontrollü üretim
- LoRA: Düşük kaynak ile model ince ayarı
- Upscaling: Düşük çözünürlüklü görselleri büyütme
Sistem Gereksinimleri
| Bileşen | Minimum | Önerilen |
|---|---|---|
| GPU | NVIDIA 6 GB VRAM | NVIDIA 12 GB+ VRAM |
| RAM | 16 GB | 32 GB+ |
| Disk | 30 GB | 100 GB+ (modeller için) |
| OS | Ubuntu 22.04 LTS | Ubuntu 22.04/24.04 LTS |
| CUDA | 11.8+ | 12.1+ |
| Python | 3.10+ | 3.10.x |
AUTOMATIC1111 Web UI Kurulumu
AUTOMATIC1111, Stable Diffusion için en popüler web arayüzüdür.
Manuel Kurulum
# Bağımlılıklar
sudo apt-get update
sudo apt-get install -y python3-venv python3-pip git wget
# Repo klonlama
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# Model indirme (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"
# Başlatma
./webui.sh --listen --port 7860 --xformers --enable-insecure-extension-access
Docker ile 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:
Systemd Servisi
cat > /etc/systemd/system/sd-webui.service << 'EOF'
[Unit]
Description=Stable Diffusion Web UI
After=network.target
[Service]
Type=simple
User=sduser
WorkingDirectory=/opt/stable-diffusion-webui
ExecStart=/opt/stable-diffusion-webui/webui.sh --listen --port 7860 --xformers
Restart=on-failure
RestartSec=10
Environment=HOME=/opt/stable-diffusion-webui
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now sd-webui
ComfyUI Kurulumu
ComfyUI, node tabanlı gelişmiş bir Stable Diffusion arayüzüdür. Karmaşık iş akışları oluşturmak için idealdir.
Manuel Kurulum
# Repo klonlama
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
# Python sanal ortam
python3 -m venv venv
source venv/bin/activate
# Bağımlılıklar
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
# Model dizinine model kopyalama
cp /path/to/sd_xl_base_1.0.safetensors models/checkpoints/
# Başlatma
python main.py --listen 0.0.0.0 --port 8188
Docker ile ComfyUI
version: '3.8'
services:
comfyui:
image: ghcr.io/ai-dock/comfyui:latest
container_name: comfyui
ports:
- "8188:8188"
volumes:
- comfy_models:/opt/ComfyUI/models
- comfy_output:/opt/ComfyUI/output
- comfy_custom:/opt/ComfyUI/custom_nodes
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
volumes:
comfy_models:
comfy_output:
comfy_custom:
Model İndirme ve Yönetimi
Popüler Modeller
# 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"
# SDXL Refiner
wget -O models/Stable-diffusion/sd_xl_refiner_1.0.safetensors \
"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors"
# Stable Diffusion 1.5 (düşük VRAM için)
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"
VAE Modelleri
# SDXL VAE
wget -O models/VAE/sdxl_vae.safetensors \
"https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors"
LoRA Kullanımı
LoRA (Low-Rank Adaptation), büyük modelleri düşük kaynak ile ince ayar yapmanızı sağlar.
LoRA Model İndirme
# LoRA modellerini models/Lora dizinine yerleştirin
mkdir -p models/Lora
# Civitai veya HuggingFace'den LoRA indirme
wget -O models/Lora/detail-enhancer.safetensors \
"https://huggingface.co/example/detail-enhancer/resolve/main/model.safetensors"
LoRA Prompt Kullanımı
AUTOMATIC1111'de LoRA kullanmak için prompt'a ekleyin:
a beautiful landscape, mountains, sunset <lora:detail-enhancer:0.7>
ControlNet Kurulumu
ControlNet, görsel üretimini poz, kenar haritası ve derinlik bilgisi ile kontrol etmenizi sağlar.
# ControlNet eklentisi kurulumu (AUTOMATIC1111)
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git
# ControlNet modelleri
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"
wget -O models/ControlNet/control_v11p_sd15_openpose.pth \
"https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.pth"
API ile Görsel Üretimi
AUTOMATIC1111 API üzerinden programatik görsel üretimi:
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()
# Görseli kaydet
image_data = base64.b64decode(result["images"][0])
Path("output.png").write_bytes(image_data)
print("Görsel kaydedildi: output.png")
# Kullanım
generate_image(
prompt="a futuristic data center, neon lights, cyberpunk style, 8k",
negative_prompt="blurry, low quality, distorted"
)
Performans Optimizasyonu
# xformers ile bellek optimizasyonu
pip install xformers
# Başlatma parametreleri
./webui.sh --listen \
--xformers \
--opt-sdp-attention \
--no-half-vae \
--medvram \
--port 7860
Bellek Tasarrufu Parametreleri
| Parametre | Açıklama | VRAM Tasarrufu |
|---|---|---|
| --xformers | xformers attention | Orta |
| --medvram | Orta VRAM modu | Yüksek |
| --lowvram | Düşük VRAM modu | Çok yüksek |
| --opt-sdp-attention | SDP attention | Orta |
| --no-half-vae | VAE float32 | Kalite artışı |
Nginx Reverse Proxy
server {
listen 443 ssl;
server_name sd.example.com;
ssl_certificate /etc/letsencrypt/live/sd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sd.example.com/privkey.pem;
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:7860;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
}
}
REXE GPU sunucularında Stable Diffusion ile sınırsız görsel üretimi yapabilirsiniz. NVIDIA A100 GPU'lar ile SDXL modelleri yüksek hızda çalışır.
İlgili Makaleler
Ollama Kurulumu: Yerel LLM Çalıştırma Rehberi
Ollama kurulumu, yerel LLM modelleri çalıştırma (Llama 3, Mistral, Gemma), API kullanımı, model yönetimi, GPU hızlandırma ve Docker ile deployment.
Open WebUI Kurulumu: ChatGPT Benzeri Arayüz ile Yerel AI
Open WebUI kurulumu Docker ile, Ollama entegrasyonu, kullanıcı yönetimi, RAG (belge sorgulama), model yönetimi, özel promptlar ve çoklu kullanıcı desteği.
GPU Sunucuda AI Model Deployment: NVIDIA CUDA Rehberi
NVIDIA sürücü kurulumu, CUDA toolkit, nvidia-container-toolkit, vLLM ile model serving, GPU monitoring ve Docker ile AI model deployment rehberi.