2022/09/03

Stable Diffusion (Hlky版WebUI付)のインストールで詰まったので解決策を備忘録に

本家Stable Diffusionのインストールはうまくいったのですが、WebUI付のHlky版Stable Diffusion のインストールで詰まったので解決策の備忘録を残しておきます。

同じことで困っている方の参考になれば幸いです。


発生した問題

基本的にはパッケージの依存関係の解決とインストールがうまくいかなくてハングしてました。

・webui.cmdを実行しても進まない

・conda env createでスタックする

・condaのexecuting transactionでスタックする

・pip install dependencies でスタックする

・module not foundでのimportエラー


環境

・Windows 10 Pro 21H2

・AMD Ryzen Threadripper 3970X

・ASUS TUF-RTX3090-24G-GAMING

・MSI TRX40 PRO WIFI

・DDR4-3200 64GB


ここからインストール手順

Pyhtonの準備

PC内のPyhtonはいったん削除してMiniconda3とMiniconda3のPythonを使用しました。

https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe

からMiniconda3をダウンロード。

Miniconda3を全ユーザーにインストール。

スタートメニューからMinconda3 Promptを管理者権限で開く。


以下のようなコンソール表示となる。

(base) C:\Users\username>


ファイルの準備


WebUI付のHlky版Stable Diffusion 

https://github.com/hlky/stable-diffusion.git

から適当なディレクトリにクローン。

ディレクトリ名は「stable-diffusion-main」としてCドライブの深くない階層に置く。

C:\TEST\stable-diffusion-main

としました。


Stable Diffusion のモデルデータ

https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

からsd-v1-4.ckptをダウンロードし、model.ckptにリネーム。

ダウンロードの際にアカウント登録やライセンス同意が必要ですが、この記事を見ている方は既に完了済みと思われるので割愛します。

stable-diffusion-main/models/ldm/stable-diffusion-v1 に配置する。


GFPGAN

https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth

をダウンロード。

stable-diffusion-main/src/gfpgan/experiments/pretrained_models に配置


ESRGAN

https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth

https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth

をダウンロード。2つとも

stable-diffusion-main/src/realesrgan/experiments/pretrained_models に配置


stable-diffusion-main/environment.yamlファイルを開く

環境名をldmからldoに変更します。


環境構築

Minconda3 Promptから仮想環境ldoを構築していきます。

stable-diffusion-mainに移動

cd C:\TEST\stable-diffusion-main

以下のようなコンソール表示となる。

(base) C:\TEST\stable-diffusion-main>


Condaをアップデートしておく

conda update --all


仮想環境ldoの作成

conda env create -f environment.yaml


pipの依存関係でスタック(20分ぐらいしても進まない)するので一回止める(Ctrl+C


作成途中のldoに切り替え

conda activate ldo

以下のようなコンソール表示となる

(ldo) C:\TEST\stable-diffusion-main>


environment.yaml内に記載されている依存関係を手動でインストールしていく。

コマンドは以下。


conda install pytorch

conda install git

conda install python=3.8.5

conda install pip=20.3

conda install cudatoolkit=11.3

conda install pytorch=1.11.0

conda install torchvision=0.12.0

conda install numpy=1.19.2

conda install pip


pip install albumentations==0.4.3

pip install opencv-python==4.1.2.30

pip install opencv-python-headless==4.1.2.30

pip install pudb==2019.2

pip install imageio==2.9.0

pip install imageio-ffmpeg==0.4.2

pip install pytorch-lightning==1.4.2

pip install omegaconf==2.1.1

pip install test-tube>=0.7.5

pip install streamlit>=0.73.1

pip install einops==0.3.0

pip install torch-fidelity==0.3.0

pip install transformers==4.19.2

pip install torchmetrics==0.6.0

pip install kornia==0.6

pip install gradio==3.1.6

pip install accelerate==0.12.0

pip install pynvml==11.4.1

pip install basicsr>=1.3.4.0


pip install git+https://github.com/hlky/facexlib#egg=facexlib

pip install git+https://github.com/CompVis/taming-transformers#egg=taming-transformers

pip install git+https://github.com/openai/CLIP#egg=clip

pip install git+https://github.com/TencentARC/GFPGAN#egg=GFPGAN

pip install git+https://github.com/xinntao/Real-ESRGAN#egg=realesrgan

pip install git+https://github.com/hlky/k-diffusion-sd#egg=k_diffusion

pip install -e .


起動スクリプトを実行。

python ./scripts/relauncher.py


taming-transformersをインストールしたはずが以下のメッセージ

from taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer

でmodule not foundで怒られたので

https://github.com/CompVis/taming-transformers#egg=taming-transformers

をダウンロードして、tamingディレクトリを

stable-diffusion-main/taming に配置する。


念のため再度インストール。

pip install -e .


再度起動スクリプトを実行。

python ./scripts/relauncher.py


成功すると以下のメッセージが表示される。

Running on local URL:  http://localhost:7860/

To create a public link, set `share=True` in `launch()`.


ブラウザで以下のURLを開くと、WebUIが表示されれば成功。

http://localhost:7860/

解決しました!

おまけ:Python周りで上手くいかなくなった時のコマンドなど備忘録


仮想環境 ldo を削除

conda remove -n ldo --all


Conda のキャッシュファイル削除

conda clean -a