💨

Stable Diffusion WebUIの環境構築からcivitaiのモデルを動かすまで

2023/05/01に公開

概要

Linuxサーバーでdockerを使ってstable diffusion webuiを起動し、civitaiのモデルを動かすまでを解説しました。

環境構築

dockerを使う場合以下のリポジトリを使うだけでいけます。
https://github.com/AbdBarho/stable-diffusion-webui-docker

git clone git@github.com:AbdBarho/stable-diffusion-webui-docker.git
cd stable-diffusion-webui-docker
# モデル等のダウンロード
docker compose --profile download up --build

civitaiから重みをダウンロードする

civitaiではSD本体の重みやLoRAの重みをホストしています。今回はサンプルとして以下の重みを使うことを目標にします。まずは以下のリンクから重みをダウンロードして stable-diffusion-webui-docker/data/Lora 配下に置きます。
https://civitai.com/models/32521/cartoon-caricature-style

この重みの場合、ベースのモデルがSDの公式の重みではなく、 hillmix という重みなため、こちらも追加でダウンロードします。この重みは stable-diffusion-webui-docker/data/StableDiffusion 配下に置きます。
https://civitai.com/models/27880/hillmix

WebUIの使い方

以下のコマンドでWebUIを起動し、ブラウザからlocalhost:7860 にアクセスします。なお、リモートサーバーでコンテナを動かす場合はポートフォワーディングが必要です(e.g., ssh -L 7860:localhost:7860 remote_server)。

# WebUIのアプリケーションを起動
docker compose --profile auto up --build -d

今回はベースモデルの変更+LoRAの適用を行うので以下のスクショの箇所を叩いてベースモデルとLoRAの重みを選択します。

あとはprompt, negative prompt, 生成パラメータ(img2imgなら画像も)を指定して生成するだけです。

注意事項

  • ベースモデルを間違えると全然違う出力が出ます
  • LoraやSDの重みのファイルは拡張子が .safetensors じゃないとWebUIに認識されません

Discussion