MkItYs

MkItYs > AI・交渉・物語の自動生成 > 

images

プロンプトを与えて画像を生成させる(クラウドのコンテテで):Stable-Diffusion-WebUI, Ubuntu, Docker, GCP

images

拡散モデルの操作を、GUIベースで行えるツールです。

関連


クラウドのコンテナでGPUを使う:GPC, Docker, nvidia-driver, cuda-toolkit

検証


OS:Ubuntu 22.04 (Docker Hub)
インタプリタ:Python 3.10.6

設置


リモート側で、必要なファイルをダウンロードします:

$ cd ${dir}
$ git clone --depth 1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

コンテナの初期設定ファイルは、たとえば次のように記述します:

FROM ubuntu:22.04

RUN apt -y update
RUN apt -y upgrade

コンテナを作成します:

$ docker build --no-cache -t ${image} ${dockerfile_directory}

コンテナを起動します:

$ docker run -it --rm \
-v ${dir}:${dir} \
-p 7860:7860 \
--gpus all \
--name ${container} \
${image}

コンテナ上で、次を実行します:

$ apt install wget git python3 python3-venv
$ apt install libgl1-mesa-dev
$ apt install libglib2.0-0

$ cd ${dir}/stable-diffusion-webui
$ ./webui.sh -f --listen # 管理者(root)で起動、ポートを監視

リモート側で、必要に応じてコミットします:

$ docker commit ${container} ${image}

運用:拡張機能


拡張機能を導入するときは、アプリをいったん次のオプションで起動し、GUIの画面からダウンロード〜反映させるか:[※1]

$ cd ${dir}/stable-diffusion-webui
$ ./webui.sh -f --listen --enable-insecure-extension-access

拡張機能のフォルダにCLIから直接ダウンロードし、アプリを再起動すれば反映されます:

$ cd ${dir}/stable-diffusion-webui/extensions
$ git clone --depth 1 ...
$ cd ${dir}/stable-diffusion-webui
$ ./webui.sh -f --listen

※1
このオプションはセキュリティ上のリスクがあるので、常時の使用は避けるべきです。