画像生成AIをWindowsPCで実行したい!
自宅のWindows環境を使い、Stable Diffusion XL 0.9
で画像を生成できることを紹介します。
生成するだけならpythonやAI用語の理解は不要です!
- この記事で取り上げること
-
Stable Diffusion XL 0.9
で画像を出力するまで
-
- この記事で取り上げないこと
- 画像生成の仕組み
- 専門用語解説
- 新旧生成画像の比較
- パラメータの解説
環境作って画像を出してみる、hello world!
的な記事です。
Stable Diffustion XL(SDXL)とは
画像生成AIの中でも、Windows PCにインストール可能な、公開されている Stable Diffusion
が人気です。
現時点でv2.1まで公開されていますが、さらに進化した XL
版が開発されています。
しばらくは研究用に限定公開され、ウェイトリストに登録して待つ必要がありましたが2023年7月、Stable Diffusion XL 0.9
が一般にも公開されました。
7月中に1.0
も公開とのウワサです。
PCの用意
ご家庭のPCとはいっても、要求スペックは結構高めです。
とはいえGPUのチョイスさえ間違えなければ、ミドルクラスのゲーミングマシンで実行可能です。
- RTX2000系以上
- VRAM 12GB 以上 ← ココ重要!
- RAM 16GB 以上
- CPUはx64系
今回は
- RTX2060-6GB
- Ryzen5 2600(6C12T)
- RAM 32GB
と、GPU の推奨スペックを満たしていない構成で挑戦してみます。
VRAMこそ6GBしかありませんが、RAMと共有してGPUメモリは22GBと表示されているので、いけるんじゃないかな~と・・・
環境構築
Windowsとgitがあれば始められます。
ざっくりと以下の流れです。
- python 3.10 のインストール
- Haggingfaceへサインアップ
- アクセストークンの発行
- SD.nextのインストール
- SD.nextからモデルをダウンロード
- いよいよ生成!
もちろん導入済みの工程はスキップで構いません。
python 3.10 のインストール
3.10
を用意します。現時点最新の 3.11
では動作しないので注意してください。
Windows環境にPythonがインストールされていない場合、検索バーから python
と入力すれば Microsoft Store のアプリに飛ばされます。ここからインストールするのが簡単です。
Haggingfaceへサインアップ
https://huggingface.co/ にサインアップします。
このサイトでは画像生成に必要なモデルを配信しています。
サインアップから進めていってください。
アクセストークンの発行
サインアップできたら左サイドバーの settings
またはアカウントアイコンメニューから setting
→ Access Tokens
へ進みます。
New token
ボタンをクリックして、適当な名前を付けて作成します。
Role
は Read
のままで問題ありません。
生成されたら、あとで使います。
SD.next のインストール
SD.next
は、めんどくさい生成AIをブラウザから実行できるツールです。
https://github.com/vladmandic/automatic
XL
ではない無印 Stable Diffusion
では Stable Diffusion web UIが有名です。こちらからフォークされたものです。
インストールには git
コマンドを使います。
適当なディレクトリを用意してください。
Cドライブ直下に ai
ディレクトリを作成し、その中にクローンする例です。
cd \
mkdir ai
cd ai
git clone https://github.com/vladmandic/automatic
clone自体はすぐ終わります。
起動バッチファイルの作成
cloneしたディレクトリに webui-user.bat
を作成します。
SDXL
起動に必要なオプションを記述します。
call webui --backend diffusers
起動
作成したバッチファイルから起動します。
webui-user.bat
初回は必要なライブラリが大量にインストールされるので時間がかかります。
python に不慣れでも、自動でやってくれるところが素晴らしいですね!
が、エラーになりました。
このエラーは無視しても大丈夫なものらしいので、そのままもう一回実行してください。
webui-user.bat
しばらくするとデフォルトモデルをダウンロードするか聞かれます。
今回は SDXL
を使うことが目的なので N
を入力して進みます。
※ 別環境でインストールすると無印 Stable Diffusion 1.5
がインストールされました。
長かったですが、 http://127.0.0.1:7860/ の URL が表示されていれば起動しています!
ただし、このままではモデルがないので何も生成できません。
モデルのダウンロード
事前準備
huggingface
のモデルページにアクセスしてください。
https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9
スクリーンショットを取り忘れてしまいましたが、いくつか情報を入力する箇所がありました。
送信後にその入力欄がなくなっていればOKです。
SD.nextからモデルをダウンロード
-
Models
タブ →Huggingface
タブを開く -
select model
にstabilityai/stable-diffusion-xl-base-0.9
をセット -
Huggingface token
に発行したトークンをセット -
Download model
ボタンをクリック
ブラウザ上は変化がわかりませんが、起動しているコンソールを見ると巨大モデルをインストールしていることがわかります。
いよいよ生成!
モデルダウンロードが終わればようやく生成開始です!
プロンプトを入れる前に、設定をしておきます。
生成する画像の Width
と Height
だけ 512
→ 1024
に変更してください。
大きすぎても小さすぎても崩れた絵が生成されます。
今回はプロンプトに tired cat
だけ入力して生成しました。
VRAMは8GBくらい消費していました。VRAMと比べて低速なDRAMを併用するのでかなり時間がかかります・・・
~~ 約 7 分後 ~~
疲れて寝ている猫が生成されました!
簡単なプロンプトでそれっぽい絵が生成されます。
なお SDXL0.9
は、生成した画像の商用利用は禁止されています。
今月中にリリースされるという 1.0
を期待して待ちましょう!
おわりに
家庭用PCでも画像生成AIを動かすことができました!
正直なところ RTX2060 では 7 分かかるとなると、有料サービスを使ったほうが良いかもしれません。
が、推奨スペック以下のPCでもギリギリ出力できることがわかりました。
なお 1世代先のGPUを積んだメインマシンの RTX3090-24GBでは 7 秒くらいで生成できます。
今なら RTX3060-12GBが5万円以下で販売されているので、このへんが狙い目です。
RTX4090ならもっと早いんだろうなぁと思いつつ、今回はこの辺で!