へっぽこプログラマーの備忘録
プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。
menu
keyboard_arrow_up
Top
search
close
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
Home
›
StableDiffusion
›
Stable Diffusion web UI を動かしてみた
2024/12/10
Stable Diffusion web UI を動かしてみた
update
event_note
label
Docker
label
StableDiffusion
ローカル環境で画像生成AIを使いたかったので、docker を使って Stable Diffusion web UI を動かしてみました。
## 環境 - Ubuntu 20.04 - docker 24.0.7 ## 手順 Stable Diffusion web UI のリポジトリは以下になります。 - https://github.com/AUTOMATIC1111/stable-diffusion-webui Docker 版のリポジトリは以下です。 - https://github.com/AbdBarho/stable-diffusion-webui-docker まずはクローンしてきます。 ```sh $ git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git ``` あとは基本的に [Setup](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Setup) に記載されている通りにすすめるだけです。 ``` $ cd stable-diffusion-webui-docker $ docker compose --profile download up --build $ docker compose --profile auto up --build ``` しかし、私の場合、`docker compose --profile auto up --build` を実行したときにいくつかエラーが発生しました。 最初に発生したエラーは以下です。 ``` @workspace Step 12/28 : RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential the --mount option requires BuildKit. Refer to https://docs.docker.com/go/buildkit/ to learn how to build images with BuildKit enabled ERROR: Service 'auto' failed to build : Build failed ``` 生成AIに聞いてみた結果、どうやら buildx を手動でインストールする必要があるみたいでした。 まずバイナリをダウンロードします: ```sh curl -SL https://github.com/docker/buildx/releases/download/v0.10.4/buildx-v0.10.4.linux-amd64 -o ~/.docker/cli-plugins/docker-buildx ``` ダウンロードしたファイルに実行権限を付与します: ```sh chmod a+x ~/.docker/cli-plugins/docker-buildx ``` Docker Buildx が正しくインストールされたことを確認します: ```sh docker buildx version ``` これで `docker buildx` コマンドが利用できるようになります。 再度 `docker-compose --profile auto up --build` を実行したところ、今度は以下のエラーが発生しました。 ``` auto-cpu_1 | Installing extension dependencies (if any) auto-cpu_1 | Traceback (most recent call last): auto-cpu_1 | File "/stable-diffusion-webui/webui.py", line 13, in
auto-cpu_1 | initialize.imports() auto-cpu_1 | File "/stable-diffusion-webui/modules/initialize.py", line 23, in imports auto-cpu_1 | import gradio # noqa: F401 auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/gradio/__init__.py", line 3, in
auto-cpu_1 | import gradio.components as components auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/gradio/components/__init__.py", line 3, in
auto-cpu_1 | from gradio.components.bar_plot import BarPlot auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/gradio/components/bar_plot.py", line 7, in
auto-cpu_1 | import altair as alt auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/altair/__init__.py", line 649, in
auto-cpu_1 | from altair.vegalite import * auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/altair/vegalite/__init__.py", line 2, in
auto-cpu_1 | from .v5 import * auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/altair/vegalite/v5/__init__.py", line 2, in
auto-cpu_1 | from altair.expr.core import datum auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/altair/expr/__init__.py", line 11, in
auto-cpu_1 | from altair.expr.core import ConstExpression, FunctionExpression auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/altair/expr/core.py", line 6, in
auto-cpu_1 | from altair.utils import SchemaBase auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/altair/utils/__init__.py", line 14, in
auto-cpu_1 | from .plugin_registry import PluginRegistry auto-cpu_1 | File "/opt/conda/lib/python3.10/site-packages/altair/utils/plugin_registry.py", line 13, in
auto-cpu_1 | from typing_extensions import TypeIs auto-cpu_1 | ImportError: cannot import name 'TypeIs' from 'typing_extensions' (/opt/conda/lib/python3.10/site-packages/typing_extensions.py) ``` これについては現時点でのバグっぽいですが、以下に回避策がありました。 - https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/729 これで上手くいき、http://localhost:7860/ にアクセスすれば使用できました。 ## SDXLモデルの設定 SDXL モデルの設定については以下が参考になりました。 - https://soroban.highreso.jp/article/article-042#651d4816a6d63105f25c3c7e-1aca58d91345337803792bb7 ただ、モデルと VAE の配置場所は現在のバージョンだと少し異なるようです。 - モデル: `data/models/Stable-diffusion` - VAE: `data/models/VAE`
## 参考 URL ^ https://soroban.highreso.jp/article/article-042#651d4816a6d63105f25c3c7e-1aca58d91345337803792bb7 - https://highreso.jp/edgehub/stablediffusion/vae.html#index_id8 - https://e-penguiner.com/stable-diffusion-webui-docker/ - https://note.com/npaka/n/nc8b0e9a91d97 - https://zenn.dev/karaage0703/articles/bf86fe4946417b - https://pc.watch.impress.co.jp/docs/column/nishikawa/1485422.html
tweet
facebook
Pocket
B!
はてブ
LINE
chevron_left
chevron_right
Translate
Popular Posts
TortoiseGit でコミットメッセージを変更する
image
NO IMAGE
smbclient で session setup failed: NT_STATUS_LOGON_FAILURE が表示される
Docker for Windows の設定
image
NO IMAGE
TortoiseSVN ロック状態のチェック
image
NO IMAGE
マージ元ブランチとマージ先ブランチ
image
NO IMAGE
Visual Studio で文字がにじむ(ぼやける)
TortoiseGit でブランチ間の差分を見る
image
NO IMAGE
AsciidocFX をビルドする
image
NO IMAGE
PowerShellでブレークポイントが設定できない場合
[Python] 文字列の判定で、None と空文字を同時に判定する
Labels
.NET Core
31
.NET Framework
17
.NET Standard
2
AdminLTE
1
AI
1
Apache
3
AppVeyor
2
AsciiDoc
7
ASP.NET Core
55
Atom
4
AWS
5
AWS Cloud9
4
blockdiag
1
Blogger
13
Bootstrap
3
C/C++
6
C#
106
CentOS
3
Chrome
1
Chronograf
3
chrony
1
Codecov
1
CSS
1
Docker
82
DokuWiki
4
Doxygen
1
draw.io
1
EasyTag
1
Electron
1
Electron.NET
2
Entity Framework Core
9
Excel
2
FFmpeg
3
Firefox
6
Flask
1
Git
19
GitBook
4
GitBucket
7
GitHub
7
GitLab
39
Go
1
Google
1
Google Cloud Platform
1
Grafana
13
GStreamer
2
HTML
5
IIS
8
InfluxDB
14
JavaScript
15
Jekyll
2
Jenkins
7
Linux
34
Log4View
1
MahApps.Metro
3
MaterialDesignInXamlToolkit
1
MkDocs
2
MongoDB
5
MVC
1
MVVM
6
nginx
3
NLog
3
Node.js
8
npm
1
NVIDIA
3
onvif
1
OpenAPI
2
OpenCV
4
OpenSSL
3
OpenVINO
2
ownCloud
2
pandas
1
Pine Script
1
PlantUML
5
Portainer
3
PowerShell
8
Prism
2
PySide
19
Python
88
PyTorch
1
RabbitVCS
1
Razor
3
redis
1
Redmine
33
Redoc
1
remark.js
2
rocketchat
10
Ruby
3
scikit-learn
1
shotcut
1
SignalR
1
Slack
1
Socket.IO
1
SonarQube
5
Sphinx
10
SQL Server
5
SQLite
1
StableDiffusion
2
Subversion
2
Swagger
1
Swarmpit
1
Syslog
3
Telegraf
6
Tesseract
3
TestLink
2
Tomcat
2
TortoiseGit
11
TortoiseSVN
2
Trading View
1
Traefik
3
Travis CI
1
Ubuntu
31
Visual Studio
39
Visual Studio Code
10
VSCode
8
Vue.js
8
Windows
62
Windows 10
5
Windows ADK
1
Windows API
2
Windows Embedded
4
wkhtmltopdf
2
Word
3
WPF
12
WSL
5
WSL2
5
Xamarin
1
xUnit
5
yaml
1
yolo
1
アプリケーション
1
デザインパターン
1
テスト
1
バッチファイル
2
プログラミング
4
ライセンス
1
暗号資産(仮想通貨)
1
英語
2
確定申告
1
機械学習
1
強化学習
1
雑記
1
書籍
1
数学
1
正規表現
1
動画編集
1
Blog Archive
▼
2024
(20)
▼
12月
(2)
docker コンテナ起動時に /tmp ディレクトリの中身を削除する
Stable Diffusion web UI を動かしてみた
►
9月
(5)
►
8月
(1)
►
7月
(2)
►
6月
(1)
►
4月
(2)
►
3月
(1)
►
2月
(5)
►
1月
(1)
►
2023
(30)
►
12月
(3)
►
11月
(5)
►
10月
(2)
►
9月
(1)
►
8月
(2)
►
7月
(4)
►
6月
(2)
►
5月
(3)
►
4月
(2)
►
3月
(2)
►
2月
(3)
►
1月
(1)
►
2022
(106)
►
12月
(5)
►
11月
(1)
►
10月
(3)
►
9月
(6)
►
8月
(7)
►
7月
(6)
►
6月
(13)
►
5月
(9)
►
4月
(15)
►
3月
(11)
►
2月
(14)
►
1月
(16)
►
2021
(85)
►
12月
(11)
►
11月
(6)
►
10月
(4)
►
9月
(10)
►
8月
(8)
►
7月
(4)
►
6月
(18)
►
5月
(7)
►
4月
(8)
►
3月
(2)
►
2月
(2)
►
1月
(5)
►
2020
(56)
►
12月
(1)
►
11月
(3)
►
10月
(3)
►
9月
(3)
►
8月
(3)
►
7月
(7)
►
6月
(7)
►
5月
(2)
►
4月
(6)
►
3月
(6)
►
2月
(3)
►
1月
(12)
►
2019
(92)
►
12月
(13)
►
11月
(9)
►
10月
(3)
►
9月
(2)
►
8月
(3)
►
7月
(5)
►
6月
(11)
►
5月
(6)
►
4月
(17)
►
3月
(9)
►
2月
(6)
►
1月
(8)
►
2018
(100)
►
12月
(1)
►
11月
(11)
►
10月
(8)
►
9月
(6)
►
8月
(10)
►
7月
(10)
►
6月
(8)
►
5月
(9)
►
4月
(8)
►
3月
(14)
►
2月
(4)
►
1月
(11)
►
2017
(117)
►
12月
(14)
►
11月
(20)
►
10月
(17)
►
9月
(19)
►
8月
(10)
►
7月
(8)
►
6月
(3)
►
5月
(6)
►
4月
(5)
►
3月
(2)
►
2月
(8)
►
1月
(5)
►
2016
(91)
►
12月
(5)
►
11月
(9)
►
10月
(11)
►
9月
(9)
►
8月
(6)
►
7月
(14)
►
6月
(14)
►
5月
(11)
►
4月
(10)
►
3月
(2)
►
2015
(23)
►
12月
(4)
►
11月
(2)
►
10月
(8)
►
9月
(8)
►
7月
(1)
►
2013
(3)
►
11月
(1)
►
9月
(1)
►
7月
(1)
►
2012
(2)
►
7月
(1)
►
6月
(1)
►
2011
(1)
►
9月
(1)
►
2009
(1)
►
7月
(1)
►
2008
(2)
►
11月
(1)
►
7月
(1)
►
2007
(3)
►
10月
(3)