🦔

[2023年6月版]グラボなくても余裕でStable Diffusion WebUI デビュー その①

2023/06/12に公開

Stable Diffusionが便利に使えるで有名な AUTOMATIC1111/stable-diffusion-webui ですが、nVidiaなどの専用グラボなしのIntelのオンボードグラフィックのノートPCでもちゃんと Stable Diffusion Web UI が動作しますのでその手順をご紹介します。

ローカル環境のご紹介

手元のローカル環境をご紹介します。

  • OS: Windows 11 Pro
  • グラフィック: Intel Iris Xe Graphics
  • メモリ: 32 GB

さらに WSL で動かしてます。

  • WSL 2
  • Ubuntu 22.04.2 LTS

ですので、以下の手順はグラボ積んでない Linux でも同じかと思います。

さらに Python 環境の構築には asdfコマンド を使ってます。

1. 事前準備

必要なものは以下です。

  • Python 3.10.6
  • git
  • wget

以上!

git や wget コマンドのインストールについては手順を割愛します。

1-1. Python 3.10.6 のインストール

いろいろインストール方法はあるかと思いますが、今回は asdf コマンド使います。

そもそも asdf に python プラグインがない場合は以下のコマンドでasdfにpythonプラグインを追加します。

shell
$ asdf plugin add python

pythonプラグインがと撮った来夏のコマンドで 10.3.6 をインストールします。

shell
$ asdf install python 3.10.6

初めて python を入れる場合はインストール後に 3.10.6 が有効になります。
すでに他バージョンの python がインストールされている場合は、後ほど有効にしましょう。

python のインストールでモジュールが足りないエラーで詰まったら

python3 のインストール中、必要なパッケージがない場合はエラーが出ます。自分の場合には sqlite3 のモジュールがない、とのエラーがでました。

この時に、sqlite3 のパッケージを apt で追加すればよいのですが、ことのとき開発用のパッケージをインストールしてください。実行用のバイナリやコマンドラインツールではなく、Pythonからこのパッケージを叩くには、開発用のパッケージが必要です。

以下のコマンドで sqlite3 のパッケージを検索します。

shell
$ apt search sqlite3
...
libsqlite3-dev/jammy-updates,jammy-security,now 3.37.2-2ubuntu0.1 amd64 [installed]
  SQLite 3 development files
...
sqlite3/jammy-updates,jammy-security,now 3.37.2-2ubuntu0.1 amd64 [installed]
  Command line interface for SQLite 3
...

と出てきます。この時、インストールが必要なパッケージは libsqlite3-dev のほうです。sqlite3ではエラーが解消されません。
以下のコマンドで sqlite3 の開発パッケージをインストールします。

shell
$ sudo apt install libsqlite3-dev

で、asdf にインストールされてしまった python 3.10.6 はいったん削除し、もう一度インストールします。

shell
$ asdf unintall python 3.10.6
$ asdf install python 3.10.6

ちなみに、WSL+UbuntuでPython 3.10.6のインストール字時にGTKのモジュールでエラーが出ましたが GUIは使わないのでそれは無視してOKです。

1-2. Git でクローン

以下のコマンドでGitをクローンします。

shell
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

ghコマンド使ってる場合は以下です。

shell
$ gh repo clone AUTOMATIC1111/stable-diffusion-webui

で、clone したディレクトリで明示的に python 3.10.6 を有効にする場合は以下のコマンドです

shell
$ cd stable-diffusion-webui
$ asdf local python 3.10.6

ついでに pip もアップグレードしておきましょう。

shell
$ pip install --upgrade pip

準備は以上です!

2. Stable Diffusion Web UI の起動

いよいよ起動です。

2-1. 引数の設定

GPUを積んでないPCではそのままでは動きませんので webui-user.shもしくはwebui-user.batを編集して起動オプションを追加します。

webui-user.sh
...
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate --precision full --no-half"
...

もしくは、

webui-user.bat
...
set COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate --precision full --no-half"
...

でOKです。

2-2. 起動!

WSL環境の場合は webui.sh、コマンドプロンプトなどWindows環境の場合は webui-user.bat を起動します。

shell
$ ./webui.sh
コマンドプロンプト
> webui-user.bat

ここで必要なものは大体、インストールしてくれます。
無事に必要なもののダウンロードやセットアップが完了するとWEBサーバーが起動します。

shell
...
Running on local URL:  http://127.0.0.1:7860

...

とログができたら起動完了です。
ブラウザで http://localhost:7860 を開けば画面が立ち上がります。

Stable Diffusion Web UI

ハイ、いってらっしゃい!!

Discussion