2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

ご家庭のゲーミングPCで画像生成AI(SDXL0.9)を動かしてみませんか?

Last updated at Posted at 2023-07-12

00107-2023-07-11-stable-diffusion-xl-base-0.9.png
(↑SDXL0.9で生成しました)

画像生成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 のアプリに飛ばされます。ここからインストールするのが簡単です。

image.png

Haggingfaceへサインアップ

https://huggingface.co/ にサインアップします。
このサイトでは画像生成に必要なモデルを配信しています。
サインアップから進めていってください。

アクセストークンの発行

サインアップできたら左サイドバーの settings またはアカウントアイコンメニューから settingAccess Tokens へ進みます。
New token ボタンをクリックして、適当な名前を付けて作成します。
RoleRead のままで問題ありません。

image.png

生成されたら、あとで使います。

image.png

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自体はすぐ終わります。

image.png

起動バッチファイルの作成

cloneしたディレクトリに webui-user.bat を作成します。
SDXL 起動に必要なオプションを記述します。

webui-user.bat
call webui --backend diffusers

起動

作成したバッチファイルから起動します。

webui-user.bat

初回は必要なライブラリが大量にインストールされるので時間がかかります。
python に不慣れでも、自動でやってくれるところが素晴らしいですね!

image.png

が、エラーになりました。

image.png

このエラーは無視しても大丈夫なものらしいので、そのままもう一回実行してください。

webui-user.bat

しばらくするとデフォルトモデルをダウンロードするか聞かれます。

image.png

今回は SDXL を使うことが目的なので N を入力して進みます。
※ 別環境でインストールすると無印 Stable Diffusion 1.5 がインストールされました。

image.png

長かったですが、 http://127.0.0.1:7860/ の URL が表示されていれば起動しています!
ただし、このままではモデルがないので何も生成できません。

モデルのダウンロード

事前準備

huggingface のモデルページにアクセスしてください。
https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9

スクリーンショットを取り忘れてしまいましたが、いくつか情報を入力する箇所がありました。
送信後にその入力欄がなくなっていればOKです。

SD.nextからモデルをダウンロード

  • Models タブ → Huggingface タブを開く
  • select modelstabilityai/stable-diffusion-xl-base-0.9 をセット
  • Huggingface token に発行したトークンをセット
  • Download model ボタンをクリック

ブラウザ上は変化がわかりませんが、起動しているコンソールを見ると巨大モデルをインストールしていることがわかります。

いよいよ生成!

モデルダウンロードが終わればようやく生成開始です!
プロンプトを入れる前に、設定をしておきます。

image.png

生成する画像の WidthHeight だけ 5121024 に変更してください。
大きすぎても小さすぎても崩れた絵が生成されます。

今回はプロンプトに tired cat だけ入力して生成しました。
VRAMは8GBくらい消費していました。VRAMと比べて低速なDRAMを併用するのでかなり時間がかかります・・・

~~ 約 7 分後 ~~

image.png

疲れて寝ている猫が生成されました!
簡単なプロンプトでそれっぽい絵が生成されます。
なお SDXL0.9 は、生成した画像の商用利用は禁止されています。
今月中にリリースされるという 1.0 を期待して待ちましょう!

おわりに

家庭用PCでも画像生成AIを動かすことができました!
正直なところ RTX2060 では 7 分かかるとなると、有料サービスを使ったほうが良いかもしれません。
が、推奨スペック以下のPCでもギリギリ出力できることがわかりました。

なお 1世代先のGPUを積んだメインマシンの RTX3090-24GBでは 7 秒くらいで生成できます。
今なら RTX3060-12GBが5万円以下で販売されているので、このへんが狙い目です。

RTX4090ならもっと早いんだろうなぁと思いつつ、今回はこの辺で!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?