İnternette AMD kullanıcıları için pek kaynak bulamadığımdan rehberi kendim hazırlamak istedim. Windows ile başlayalım.
Windows'a henüz CUDA'nın AMD karşılığı olan ROCm desteği gelmediği için şimdilik DirectML ile çalıştırılıyor. Linux'ta ROCm desteği olduğu için arada ciddi performans farkı var. Ancak yine de Linux yüklemek istemeyenler için kurulum adımları:
1-Bilgisayarınızda varolan Python'u silin ve linkten Python 3.10.6'yı indirin. Add Python to PATH kutucuğunu işaretleyip kurun. Ardından bu linkten Git'i kurun.
2- Başlat kısmına
3-
Eki Görüntüle 1848235
4- Ardından kurulum yaptığınız klasöre girin ve
5- Kurulum tamamlandıktan sonra çıkan yerel IP adresini tarayıcınıza yazın.
6- Kullanmaya başlayabilirsiniz.
6- Eğer VRAM ile ilgili hata alırsanız programı çalıştırdığımız
Eğer VRAM hatası almaya devam ederseniz
Windows için rehber bu kadar. Ancak Linux'a göre alacağınız performans düşük olacaktır. Linux ile devam edelim.
Not: Anlatacağım rehber Debian tabanlı (Ubuntu, Linux Mint vs.) Linux dağıtımları için geçerlidir. Arch Linux için kurulum farklıdır.
Not 2: RDNA 3 kartlar için olan Docker imajı malesef yayından kalkmış. Neyse ki imajı torrente yükleyenler olmuş. RDNA 3 kartların rehberini daha sonra ekleyeceğim.
1- ROCm kurulumu ile başlayalım. Terminale sırasıyla aşağıdaki komutları yapıştırın.
2- Distronuz Ubuntu 20.04 tabanlıysa aşağıdaki komutları yapıştırın. Ubuntu 22.04 ise 3. kısma atlayın.
3- Distronuz Ubuntu 22.04 tabanlıysa aşağıdaki komutları yapıştırın.
4- ROCm paketini kuralım.
5- Aşağıdaki kodu yazarak ROCm'in kurulup kurulmadığını doğrulayalım.
6- Docker kurulumu için aşağıdaki komutları sırasıyla yapıştıralım.
Bu kısımda eğer Ubuntu haricinde bir distro kullanıyorsak $VERSION_CODENAME yerine $UBUNTU_CODENAME yazacağız.
7- Docker kurulumunu yapalım.
8- Docker'ı aktif edelim.
9- Docker'a gerekli yetkileri verip bilgisayarı yeniden başlatalım.
10- ROCm için Pytorch Docker imajını indirelim.
11- Docker imajını indirdikten sonra aşağıdaki komutu terminale girerek çalıştıralım.
12- Stable Diffusion'u kurmak için aşağıdaki komutları terminale girelim.
Kurulumda böyle bir hata aldım. Pythorch Lightning'i downgrade edelim. İleride muhtemelen düzeltirler.
Pythorch Lightning'i downgrade etmek için aşağıdaki komutu girin.
Kuruluma devam etmek için aşağıdaki komutu tekrar girin ve kurulumun tamamlanmasını bekleyin.
Eğer kurulumda
Terminaldeki IP adresini kullandığınız internet tarayıcısına yapıştırın.
Kurulum tamamlandı.
Eğer kullanırken VRAM hatası alırsanız kurulum yaparken girdiğiniz komutun sonunu aşağıdaki gibi değiştirin. Programı başlatmak istediğimiz zaman bu komutu kullanacağız.
Hata almaya devam ederseniz komutun devamına
13- Programı kapattıktan sonra tekrar açmak için Docker container ismini öğrenmemiz gerekiyor. Öğrenmek için aşağıdaki komutu terminale yazalım.
Benim container ismim
14- Programı tekrar başlatmak için gereken komutlar:
Sizdeki başlatma komutunu ekran kartınıza göre nasıl ayarladıysanız o şekilde girin.
15- Programı bash shell ile hızlı başlatmak isterseniz text dosyasına aşağıdaki komutları yapıştırın ve başlatma komutunu ekran kartınıza göre ayarlayın. (Komutun sonundaki
Dosyayı kaydedin, uzantısını .sh olarak değiştirin, dosyaya sağ tıklayın özellikler kısmından gördüğünüz kutucuğu işaretleyin.
Scripti çalıştırmak için scriptin dosyasının bulunduğu lokasyonda sağ tıklayıp terminali açın ve dosya ismini terminale yazın. Dosya isminin sol tarafına
Program üstteki komutları tek tek girmenizi gerektirmeden açılacaktır.
Sistem özellikleri:
Steps: 50
Size: 512x512
VRAM kullanımı: 4017/8176 (49.13%)
Süre: 10.47s
Steps: 100
Size: 512x512
VRAM kullanımı: 4017/8176 (49.13%)
Süre 20.72s
Steps: 50
Size: 768x768
VRAM kullanımı: 6457/8176 (78.98%)
Süre: 33.48s
Başlangıç komutu:
Steps: 50
Size: 512x512
VRAM kullanımı: 7833/8176 (%95,80)
Süre: 39.27s
Steps: 100
Size: 512x512
VRAM kullanımı: 7917/8176 (%96,83)
Süre: 76.23s
Steps: 50
Size: 768x768
VRAM kullanımı: 7936/8176 (%97,06)
Süre: 107.11s
s
Windows'a AMD Kartlar için Stable Diffusion kurulumu
Windows'a henüz CUDA'nın AMD karşılığı olan ROCm desteği gelmediği için şimdilik DirectML ile çalıştırılıyor. Linux'ta ROCm desteği olduğu için arada ciddi performans farkı var. Ancak yine de Linux yüklemek istemeyenler için kurulum adımları:
1-Bilgisayarınızda varolan Python'u silin ve linkten Python 3.10.6'yı indirin. Add Python to PATH kutucuğunu işaretleyip kurun. Ardından bu linkten Git'i kurun.
2- Başlat kısmına
cmd
yazın ve yönetici olarak çalıştırın.3-
cd
kısmına nereye kurmak istiyorsanız o dosya konumunu yazın. Ben C:\ kısmına kurmak istediğimden cd C:\
yazacağım. Ardından kurulum için gerekli kodu girin.
Kod:
cd C:\
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update
Eki Görüntüle 1848235
4- Ardından kurulum yaptığınız klasöre girin ve
webui-user.bat
'a çift tıklayın. Kurulumu yapması için bekleyin.5- Kurulum tamamlandıktan sonra çıkan yerel IP adresini tarayıcınıza yazın.
6- Kullanmaya başlayabilirsiniz.
6- Eğer VRAM ile ilgili hata alırsanız programı çalıştırdığımız
webui-user.bat
'ı not defteri ile açın ve set COMMANDLINE_ARGS=
'ın yanına şunu yazın:
Kod:
--opt-sub-quad-attention --medvram --disable-nan-check
Eğer VRAM hatası almaya devam ederseniz
--medvram
kısmını --lowvram
olarak değiştirin.Windows için rehber bu kadar. Ancak Linux'a göre alacağınız performans düşük olacaktır. Linux ile devam edelim.
Linux'a AMD Kartlar için Stable Diffusion kurulumu
Not: Anlatacağım rehber Debian tabanlı (Ubuntu, Linux Mint vs.) Linux dağıtımları için geçerlidir. Arch Linux için kurulum farklıdır.
Not 2: RDNA 3 kartlar için olan Docker imajı malesef yayından kalkmış. Neyse ki imajı torrente yükleyenler olmuş. RDNA 3 kartların rehberini daha sonra ekleyeceğim.
1- ROCm kurulumu ile başlayalım. Terminale sırasıyla aşağıdaki komutları yapıştırın.
Kod:
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
2- Distronuz Ubuntu 20.04 tabanlıysa aşağıdaki komutları yapıştırın. Ubuntu 22.04 ise 3. kısma atlayın.
Kod:
# amdgpu repository for focal
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.4.1/ubuntu focal main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
Kod:
sudo apt install amdgpu-dkms
sudo reboot
Kod:
# ROCm repositories for focal
for ver in 5.3.3 5.4.1; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" \
| sudo tee --append /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
| sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
3- Distronuz Ubuntu 22.04 tabanlıysa aşağıdaki komutları yapıştırın.
Kod:
# amdgpu repository for jammy
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.4.1/ubuntu jammy main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
Kod:
sudo apt install amdgpu-dkms
sudo reboot
Kod:
# ROCm repositories for jammy
for ver in 5.3.3 5.4.1; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver jammy main" \
| sudo tee --append /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
| sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
4- ROCm paketini kuralım.
Kod:
sudo apt install rocm-hip-sdk
Kod:
sudo tee --append /etc/ld.so.conf.d/rocm.conf <<EOF
/opt/rocm/lib
/opt/rocm/lib64
EOF
sudo ldconfig
Kod:
export PATH=$PATH:/opt/rocm-5.4.1/bin:/opt/rocm-5.4.1/opencl/bin
5- Aşağıdaki kodu yazarak ROCm'in kurulup kurulmadığını doğrulayalım.
Kod:
/opt/rocm/bin/rocminfo
ROCk module is loaded
yazdıysa kurulmuş demektir. Sonraki adımda Docker kurmamız gerekiyor.6- Docker kurulumu için aşağıdaki komutları sırasıyla yapıştıralım.
Kod:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
Kod:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Bu kısımda eğer Ubuntu haricinde bir distro kullanıyorsak $VERSION_CODENAME yerine $UBUNTU_CODENAME yazacağız.
Kod:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Kod:
sudo apt-get update
7- Docker kurulumunu yapalım.
Kod:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
8- Docker'ı aktif edelim.
Kod:
sudo systemctl enable docker
9- Docker'a gerekli yetkileri verip bilgisayarı yeniden başlatalım.
Kod:
sudo usermod -aG docker $USER
10- ROCm için Pytorch Docker imajını indirelim.
Kod:
docker pull rocm/pytorch
11- Docker imajını indirdikten sonra aşağıdaki komutu terminale girerek çalıştıralım.
Kod:
docker run -it --network=host --device=/dev/kfd --device=/dev/dri --group-add=video --ipc=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $HOME/dockerx:/dockerx rocm/pytorch
12- Stable Diffusion'u kurmak için aşağıdaki komutları terminale girelim.
Kod:
cd /dockerx
Kod:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
Kod:
cd stable-diffusion-webui
Kod:
python -m pip install --upgrade pip wheel
Kod:
python -m venv venv
Kod:
source venv/bin/activate
Kod:
TORCH_COMMAND="pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.4.2" REQS_FILE="requirements.txt" python launch.py
Kurulumda böyle bir hata aldım. Pythorch Lightning'i downgrade edelim. İleride muhtemelen düzeltirler.
Pythorch Lightning'i downgrade etmek için aşağıdaki komutu girin.
Kod:
pip install pytorch-lightning==1.6.5
Kuruluma devam etmek için aşağıdaki komutu tekrar girin ve kurulumun tamamlanmasını bekleyin.
Kod:
TORCH_COMMAND="pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.4.2" REQS_FILE="requirements.txt" python launch.py
Eğer kurulumda
hipErrorNoBinaryForGpu: Unable to find code object for all current devices!
hatası alırsanız kurulum için girdiğimiz komutu aşağıdaki gibi değiştirin ve komutu tekrar girin.
Kod:
HSA_OVERRIDE_GFX_VERSION=10.3.0 TORCH_COMMAND="pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.4.2" REQS_FILE="requirements.txt" python launch.py --opt-split-attention
Terminaldeki IP adresini kullandığınız internet tarayıcısına yapıştırın.
Kurulum tamamlandı.
Eğer kullanırken VRAM hatası alırsanız kurulum yaparken girdiğiniz komutun sonunu aşağıdaki gibi değiştirin. Programı başlatmak istediğimiz zaman bu komutu kullanacağız.
Kod:
HSA_OVERRIDE_GFX_VERSION=10.3.0 TORCH_COMMAND="pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.4.2" REQS_FILE="requirements.txt" python launch.py --opt-split-attention --medvram
Hata almaya devam ederseniz komutun devamına
--precision full --no-half
ekleyin. Bu komut performansı çok düşürüyor, hata almadığınız sürece kullanmanızı tavsiye etmiyorum.13- Programı kapattıktan sonra tekrar açmak için Docker container ismini öğrenmemiz gerekiyor. Öğrenmek için aşağıdaki komutu terminale yazalım.
Kod:
docker container ls -a
Benim container ismim
tender_faraday
'mış. Sizde hangi isim çıktıysa onu bir yere not edin.14- Programı tekrar başlatmak için gereken komutlar:
Kod:
sudo systemctl enable docker
Kod:
sudo docker container restart "tırnak işareti olmadan sizdeki docker container ismi"
Kod:
sudo docker exec -it "tırnak işareri olmadan sizdeki docker container ismi" bash -c
Kod:
cd /dockerx/stable-diffusion-webui
Kod:
source venv/bin/activate
Sizdeki başlatma komutunu ekran kartınıza göre nasıl ayarladıysanız o şekilde girin.
Kod:
HSA_OVERRIDE_GFX_VERSION=10.3.0 TORCH_COMMAND="pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.4.2" REQS_FILE="requirements.txt" python launch.py
15- Programı bash shell ile hızlı başlatmak isterseniz text dosyasına aşağıdaki komutları yapıştırın ve başlatma komutunu ekran kartınıza göre ayarlayın. (Komutun sonundaki
'
işaretini silmeyin.)
Kod:
sudo systemctl enable docker
sudo docker container restart "tırnak işareti olmadan sizdeki docker container ismi"
sudo docker exec -it "tırnak işareti olmadan sizdeki docker container ismi" bash -c 'cd /dockerx/stable-diffusion-webui && source venv/bin/activate && HSA_OVERRIDE_GFX_VERSION=10.3.0 TORCH_COMMAND="pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.4.2" REQS_FILE="requirements.txt" python launch.py --opt-split-attention'
Dosyayı kaydedin, uzantısını .sh olarak değiştirin, dosyaya sağ tıklayın özellikler kısmından gördüğünüz kutucuğu işaretleyin.
Scripti çalıştırmak için scriptin dosyasının bulunduğu lokasyonda sağ tıklayıp terminali açın ve dosya ismini terminale yazın. Dosya isminin sol tarafına
./
ekleyin ve komutu çalıştırın. Örneğin ./dosya.sh
Program üstteki komutları tek tek girmenizi gerektirmeden açılacaktır.
Windows ve Linux Stable Diffusion performans karşılaştırması
Sistem özellikleri:
- AMD Radeon 6600 XT 8G
- AMD Ryzen 5 5600
- Corsair Vengeance 2x16 GB 3000MHz DDR4
- Asus TUF Gaming X570-Plus
Linux test sonuçları:
Başlangıç komutu:--opt-split-attention
Steps: 50
Size: 512x512
VRAM kullanımı: 4017/8176 (49.13%)
Süre: 10.47s
Steps: 100
Size: 512x512
VRAM kullanımı: 4017/8176 (49.13%)
Süre 20.72s
Steps: 50
Size: 768x768
VRAM kullanımı: 6457/8176 (78.98%)
Süre: 33.48s
Windows test sonuçları:
Başlangıç komutu:
--opt-split-attention
Steps: 50
Size: 512x512
VRAM kullanımı: 7833/8176 (%95,80)
Süre: 39.27s
Steps: 100
Size: 512x512
VRAM kullanımı: 7917/8176 (%96,83)
Süre: 76.23s
Steps: 50
Size: 768x768
VRAM kullanımı: 7936/8176 (%97,06)
Süre: 107.11s
Sonuç:
Stable Diffusion'u Linux'a kurmak Windows'a göre zahmetli olabilir ancak aradaki performans farkına değer. AMD ROCm Windows sürümünü yayınlayana kadar Linux'ta kullanmak en mantıklısı gibi duruyor.s
Dosya Ekleri
Son düzenleme: