日記とか、工作記録とか

自分に書けることを何でも書いてゆきます。作った物、買ったもの、コンピュータ系の話題が多くなるかもしれません。

Docker + StableDiffusion(CPU) + streamlitでお手軽画像生成

streamlitというPythonのライブラリがあり、簡単にWebフロントエンドを作成することができるそうです。すでにGitHubで作られている方がいたので、それとCPU版StableDiffusionを組み合わせて使えるようにしてみました。

サバンナから昇る朝日

github.com

Dockerが必要なので、Windows 10の場合はPro版が必要です。ビルドについては前回のブログと大体同じになります。gitのレポジトリは私のアカウント領域に変わっていますのでご注意ください。

windvoice.hatenablog.jp

Webサービスとして使うにあたり、ポート8501を公開しています。ここにアクセスできるよう、docker runを実行するとき、8501/tcpをローカルPCの8501にマッピングします。

docker run -it --rm -p 8501:8501 stable_diffusion:openvino bash

bashのターミナルが開いたら、streamlitを起動します。

(openvino_env) stable_diffusion@3e775d837d9a:~/stable_diffusion.openvino$ streamlit run demo_web.py

  You can now view your Streamlit app in your browser.

  Network URL: http://172.17.0.2:8501
  External URL: http://219.113.238.136:8501

ここでURLが表示されてここへアクセス!となっていますが、実際にはこれらのポートはローカルのPCのポートにマッピングされていますので、ブラウザで(PCのIPアドレス):8501へアクセスすることで使えます。