こんにちは、ice_soiです!
フリーランスエンジニアをしています。
前回、Virtualbox + Vagrant + Dockerの構成でStableDiffusionの環境を作ってみました!
VirtualboxとDockerでStableDiffusionの環境構築をしてみた
とりあえずCPUを使って画像生成はできたのですが、GPUを使って生成するようにすることが大変であきらめることにしました・・・
いろいろ調べる中でWSL2であればGPUを使えそうでした。
そこで、今回はWSL2 + dockerでStableDiffusionの環境を新たに構築しました!
今回は、備忘もかねて環境構築の記録を残していこうと思います!
2024/11/07:追記
環境が立ち上がらなくなったので対処した記事をまとめました!
DockerでStableDiffusionが立ち上がらない!原因と対処法
PCのスペック
前回と変わらず下記構成です。
- windows10
- Rythen 5 3600
- GTX1650
- DDR4 32GB
そもそもGPUにこだわるようなスペックではないのですが、使ってみたかったので・・・。
環境の構成
WSL2 + dockerの構成です。
基本的にはvagrantがWSL2になっただけで他は前回と同じです。
環境構築
今回は下記の内容で環境を構築しました。
- WSL2環境を作る
- docker、docker-composeをインストール
- gitからdocker環境を持ってくる
- StableDiffusionの設定、起動
1以外は前回とほぼ同じです。
WSL2環境を作る
特に指定しなければubuntuがインストールされるので、PowerShellを管理者として実行して、下記コマンドを実行します。
wsl --install
再起動するとubuntuが立ち上がるのでユーザ名とパスワードを設定します。
これでubuntuが使えるようになります。
次回以降起動したい時はスタートメニューにUbuntuが入っているのメニューから起動ができます。
docker、docker-composeをインストール
こちらは前回と同じ手順なので前回記事を参照。
gitからdocker環境を持ってくる
下記のコマンドでcloneします。
git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git
今回docker-compose.ymlを修正します。
下記のCLI_ARGS=の–medvramを消して、–precision full –no-half –lowvramを追加する。
–precision fullと–no-halfが16系のグラボで必要で、–lowvramはグラボが貧弱なので追加します。
StableDiffusionの設定、起動
最初に下記をします。
docker compose --profile download up --build
今回はGPUをつかいたいのでnvidia-dockerをインストールします
ドライバが入っていないとdocker起動時にdocker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].が出ました。
下記記事を参考にインストールしました。
https://www.yurui-deep-learning.com/2021/08/17/docker-error-response-from-daemon-could-not-select-device-driver-with-capabilities-gpu/
あとは下記コマンド実行。
docker compose --profile auto up --build
ブラウザから127.0.0.1:7860にアクセスしてみると・・・
StableDiffusionが開けました!!
プロンプトを入れて画像生成もできました!
GPUをつかった方がCPUで生成するより早いです!
まとめ
今回はStable Diffusionが動くVM環境をWSL2で作ってみました。
前回の環境でできなかったGPUを使っての画像生成ができるようになりました!
マシンパワーが貧弱なので苦労するところがありましたが、とりあえず動かすことができたのでよかったです。
これからいろいろと使って見て、知見がたまればまた記事にしたいなと思いました!
今後も備忘をかねて構築手順や開発記録などを記事にしていこうと思います!
最後までお読みいただきありがとうございました!