ローカル PC で AI を使って画像を生成しよう【Automatic1111】

当ページのリンクには広告が含まれています。

こんにちは、ふじみやです。最近 Stable Diffusion で自分好みの画像を生成するのにはまっています。

以前、ローカル PC で 画像生成をするアプリとして NMKD Stable Diffusion GUI をご紹介しました。こちらは、.7z 形式のアーカイブファイルをダウンロードして解凍するだけで使えるというお手軽かつ便利なものでしたね。

とはいえ、色々なモデルを入れて画像生成をしてみようとしたところ「あれ?モデルが選べない」という経験をされた方もいらっしゃるのではないかと思います。

そういった方向けに、今回はちょっと導入に手間がかかりますがより高機能な Automatic1111 版 Stable Diffusion Web UI(以下「Web UI」と書きます)の導入方法をご紹介します。

なお、今回の導入方法は Windows をご利用されている方向けのものです。Linux や macOS をご利用されている方は、下記リンクよりインストラクションをご参照ください。

stable-diffusion-webui/README.md

ローカル PC で Stable Diffusion を利用できるようにするためにはグラフィックボードを搭載した PC を利用する必要があります。そういった PC をお持ちでない方は Google Colaboratory を使う方法もありますので、そちらの利用をご検討ください。

目次

推奨スペック

NMKD Stable Diffusion GUI を利用する際と同一の推奨スペックを掲載しています

  • OS:Windows 10または11(64bit版)
  • メモリ:16GB(最小8GB以上)
  • ストレージ:SSDに17GB以上の空き容量(最小10GB以上)
  • GPU:8GB以上のVRAM搭載の2016年製以降のNVIDIA GPU
       (最小4GB以上のVRAM搭載の2014年製以降のNVIDIA GPU)

概ねエントリー〜ミドルクラスのゲーミングPCであれば推奨スペックを充足するという感じかと思います。

事前準備

Web UI の利用には Python 3.10.6 と git がインストールされていることが前提となります。

Python 3.10.6 のインストール

Python の配布ページにアクセス後、CTRL + F にて検索ボックスを表示させ「3.10.6」と入力して検索をしてください。すると Python 3.10.6 のダウンロードリンクがあるところまで表示が飛びます。

ダウンロードリンクを見つけたら「Download Windows Installer (64-bit)」をクリックし、インストール用の .exe ファイルをダウンロードしましょう。

その後はインストーラーの案内にしたがって先に進み「Add Python to PATH」にチェックを入れてください。

インストールが完了したら、コマンドプロンプトにてpython --versionと入力し、Enter キーを押下しましょう。
Python 3.10.6と出てくればインストール成功です(以下の画像では違うバージョンが表示されていますが、こちらでも Web UI はちゃんと動いてくれています。)。

git のインストール

git に関しても Python のインストールと進め方は同様です。

公式の配布サイトにアクセスし記事タイトルの直下にある「Click here to download」と書かれているリンクをクリックし、インストーラーをダウンロードしましょう。

あとは同様にインストーラの案内にしたがって先に進んでください。

インストールが完了したら、先ほどと同様にコマンドプロンプトにてgit --versionと入力をしてみましょう。
以下のようにgit version 2.39.2.windows.1と表示されればこちらもインストールは無事完了です(インストールをした時期によってバージョンは異なっている可能性があります。)。

WebUIのインストール

事前準備が完了したら、コマンドプロンプトに以下を入力しましょう。実行をすると、Web UI を動作させるのに必要なリポジトリのダウンロードが始まります。

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

ダウンロードが完了したらC:\Users\<ユーザー名>stable-diffusion-webuiというフォルダが出来ているはずですので、フォルダを開いてください。

フォルダ内にあるwebui-user.batをダブルクリック(または ENTER キー押下)すると、再度コマンドプロンプトが起動し、何やら Web UI に必要なものをダウンロードしたりファイルの読み込みが行われたりしますので、しばらく待ちましょう。

以下の画像のように「To create・・・」という文字が表示されれば読み込み完了ですので、http://127.0.0.1:7860 と記載されている URL を CTRL キーを押下しながらクリックしましょう。このときコマンドプロンプトは閉じずにそのまま放置しておいてください。

すると Web ブラウザが起動しますので、プロンプトを入力し右側の Generate をクリックすれば画像が右下に表示されます。

なお、ここで表示された画像はC:\Users\<ユーザー名>\stable-diffusion-webui\outputs\txt2img-imagesの中に日付毎に保存されますので過去の画像を参照したい場合や不要な画像を削除したい場合にはこちらのフォルダにアクセスしましょう。

webui-user.bat の編集

上記だけで動く方も多いかと思いますが、画像を生成しようとした際にOutOfMemoryError: CUDA out of memoryA tensor with all NaNs was produced in Unetといったエラーが出てくることがあります。

こういったことが起きることを極力避けるためwebui-user.batの内容を変更しておきましょう。また、Automatic1111 の Web UI はよくアップデートがされるようですので .bat ファイル実行時にアップデートをするようにもしておきましょう。

.bat ファイルを右クリックして編集(使用するエディタはメモ帳で十分です)し、内容を以下に張り替えてください。このとき、ファイルは上書き保存せずに違うファイル名(例えばupdate-webui-user.bat等)に変更するようにしましょう。

元のファイルを残しておけば、何か問題があったときにはすぐに復元することができます。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --precision full --no-half
set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6, max_split_size_mb:128

git pull

call webui.bat

なお、ここではset COMMANDLINE_ARGSの行にてA tensor with all NaNs was produced in Unetの対処をし、set PYTORCHにてメモリの割当をしています。またgit pullがアップデートのためのコードです。

それでもメモリ不足となる場合

webui-user.batを編集しても Web UI にてメモリ不足となる場合には、.bat ファイルのCOMMANDLINE_ARGSを次の通りに修正してみましょう。

set COMMANDLINE_ARGS=--xformers --precision full --no-half --medvram --opt-split-attention

この書き方は GitHub の Q&A を参考にしています。

PyTorch のバージョンが古いと出た場合

PyTorch のバージョンが上がると Stable Diffusion Web UI が動かなくなることがあります(最新版の PyTorch で動作させるようにエラーが出ます)。

この場合、コマンドプロンプト上に表示されている対処法をset COMMANDLINE_ARGSの行に追記しましょう。

まとめ

私自身、まだまだ Web UI を使いこなしているとは言えませんが、導入に手間がかかる分 Web UI のほうが細かい設定が可能であったり最新のモデルを利用できたりとメリットを享受することも可能です。

サンプルとなるようなプロンプトも Web 上では数多く公開されていますので、皆さんもご自身の好みにあった画像を生成してみてください。

それではまた。

この記事が気に入ったら
フォローしてね!

コメント

コメントする

目次