LoginSignup
9
11

More than 1 year has passed since last update.

AI に絵を生成させるStable DiffusionをCPU使用のDockerで動かしてみた

Last updated at Posted at 2022-09-08

はじめに

以前記事にした下記環境で構築を行います。

CPUで動くStable DiffusionをWSL上のDockerで動かします。
自分の環境だと1枚の画像生成に10分程掛かりました。

Dockerfileビルド

ビルド前にメモリー不足だとビルドや実行時にコケる恐れがあるためWSLの設定を変更しておきます。
以下に設定ファイルがあるため確認、変更を行います。無ければ作成が必要です。
C:\Users\users\.wslconfig
image.png

以下のgithubで公開されている方のDockerfileをダウンロードします。

Ubuntuを起動し、gitで任意の場所でcloneを行います。

git clone [公開されてるURL]

image.png

stable_diffusion.openvino-dockerフォルダに移動し、dockerのビルドコマンドを実行します。
sudo docker build ./ --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t stable_diffusion:openvino

image.png

Docker実行

sudo docker run -it -d -v /home:/root stable_diffusion:openvino bash

コンテナIDを確認します。
sudo docker ps -a

image.png

sudo docker exec -it (CONTAINER_ID) sudo /home/stable_diffusion/openvino_env/bin/python demo.py --prompt "beautiful japanese lady" --output /root/(生成する画像名).png

初回実行時のみモデルデータをダウンロードします。
image.png

エクスプローラーで「¥¥wsl$」を入力し、/homeの直下に画像が出力されているのを確認します。

beautiful japanese ladyで自動生成された画像
test03.png

Stable Diffusionのprompt

今回の機能はprompt(文字)により画像を出力しています。
実はpromptには規則性があり、出力される画像をより自然に近づけることが出来ます。(通称 呪文)

以下その呪文で出力した画像です。

sudo docker exec -it (CONTAINER_ID) sudo /home/stable_diffusion/openvino_env/bin/python demo.py --prompt "illustration of a gorgeous woman, upper shot, shot from below, beautiful face, long waved hair, cute eyes, beautiful costume, fantasy background, beautiful composition, golden hour, overhead sunlight, soft lighting, artstation, deviantart, concept art, digital painting, extremely detailed, sharp focus, ray tracing, 8k, cinematic postprocessing" --output /root/(生成する画像名).png

33.png

sudo docker exec -it (CONTAINER_ID) sudo /home/stable_diffusion/openvino_env/bin/python demo.py --prompt "a beautiful painting portrait of a very old indigenous grand-father in the amazon jungle, matte painting, fantasy art, ayahuasca, highly detailed" --output /root/(生成する画像名).png

35.png

sudo docker exec -it (CONTAINER_ID) sudo /home/stable_diffusion/openvino_env/bin/python demo.py --prompt "japanese anime of a beaultiful girl,fantasy costume,fantasy background,beautiful composition,cinematic lighting,pixiv,light novel,digital painting,extremely detailed,sharp focus,ray tracing,8k,cinematic postprocessing" --output /root/(生成する画像名).png

40.png

sudo docker exec -it (CONTAINER_ID) sudo /home/stable_diffusion/openvino_env/bin/python demo.py --prompt "Shiba Inu" --output /root/(生成する画像名).png

41.png

柴犬可愛いです。

ご参考にさせて頂いたサイト様

https://zenn.dev/karaage0703/articles/4901bf68536907
https://github.com/atinfinity/stable_diffusion.openvino-docker
https://github.com/bes-dev/stable_diffusion.openvino
https://tech.isid.co.jp/entry/2022/09/01/StableDiffusion%E5%85%A5%E9%96%80-%E7%94%BB%E5%83%8F%E3%82%BF%E3%82%A4%E3%83%97
https://note.com/yamkaz/n/n9fd522bb012e

これで以上となります。
見て頂きありがとうございました。

9
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11