Docker + StableDiffusion(CPU) + streamlitでお手軽画像生成
streamlitというPythonのライブラリがあり、簡単にWebフロントエンドを作成することができるそうです。すでにGitHubで作られている方がいたので、それとCPU版StableDiffusionを組み合わせて使えるようにしてみました。
Dockerが必要なので、Windows 10の場合はPro版が必要です。ビルドについては前回のブログと大体同じになります。gitのレポジトリは私のアカウント領域に変わっていますのでご注意ください。
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へアクセスすることで使えます。