AIイラストに興味はあるものの、特に出力してみたいものがあるわけでもないので今までスルーしていたのですが、
ふとWebサイトではなく、ローカルのノートPCで実行してみたいなーと思いやってみました。
PCにインストールして使えるAIイラストの生成ソフトとして、Stable Diffusion と言うのがあります。
これ、デフォルトではnVidiaのそれなりに高性能なグラボを前提としています。(AMDの高性能なグラボでも動きます)
でも、生成に時間はかかっても良いので、AMDの環境でしかも、しょぼい環境でもやってみたい、と言う人向けの内容になります。
うちにあるヒューレットパッカードの Envy x360 はCPUが AMD RYZEN7、GPUが AMD RADEON RX Vega 10 というやつで
普段使いや、イラスト作成等は問題ありませんが、3Dの重たいゲームはあまり向かないPCです。
Stable Diffusion を実行できるようにするまでにいくつか引っ掛かったので、その内容をメモしておきます。
インストール、実行までのおおまかな流れは
・Pythonのインストール
・Gitのインストール
・Web UIのインストール
・Web UIを日本語化、生成実行
となります。
以下は実際にやった手順を書いているので、無駄な操作があります。
一度全部読んでから、無駄な手順を省いて実行してもらうといいかと思います。
まずは Stable Diffusion を ブラウザ から操作、実行できるようにする Web UI のサイトを見に行きます。
AUTOMATIC1111 Web UI
Python 3.10.6 が必要と書いてありますね。

Git をインストールしてソースを落とすように書かれていますが、右の方にReleaseパッケージがあるのでそちらをダウンロードしておきます。(Gitをインストールしなかったのは失敗で、あとでインストールする事になります・・)
最新は 1.2.1でした。
次に Python のダウンロード。
Windows 版 Python
下の方にスクロールしていくと、目的の 3.10.6 がありました。
Windows用 インストーラ 64bit版をダウンロード。
また、ローカルでイラストを生成するためのモデルが必要になります。
簡単な呪文で生成できるという評価の Anything を使ってみます。
Stable Diffusion 用モデル Anything
anything-v4.5.ckpt をダウンロードします。
ファイルサイズが 7.7GB と大きめなので、もっと軽く試したいという人は
anything-v4.5-pruned.ckpt 4.27GB
anything-v4.5-pruned-fp16.ckpt 2.13GB
あたりのモデルでも良いかもしれません。
まずは、Pythonをインストール。
これはpython-3.10.6-amd64.exe を実行するだけ。すべてデフォルト設定でいいので省略します。
次に stable-diffusion-webui-1.2.1.zip を展開します。
以降は
C:\stable-diffusion-webui-1.2.1
に展開した場合の説明になります。
C:\stable-diffusion-webui-1.2.1\webui-user.bat
があるので、とりあえず実行。
すると、何やらエラーが。
スクショが無いのですが、CUDAが無いよ、COMMANDLINE_ARGS に --skip-torch-cuda-test を追加してね、と書いてあります。
グラボにCUDAが無くてこのエラーが出る場合、
webui-user.bat の内容を
set COMMANDLINE_ARGS=--skip-torch-cuda-test
のようにオプションを追加する必要がありそうです。
で、また実行。
また別のエラーが・・
これもスクショが無いのですが、 gfpgan と言うのをインストールするのに Git を使っているようです・・
結局 Git インストールするのか・・
Windows版 Git
Windows 用 64bit版をダウンロード、インストール。
すべてデフォルト設定でいいのでインストールは省略。
で、またまた webui-user.bat を実行。
ついにインストール成功しました。
このDOSウィンドウは開いたままにしておいてください。
閉じちゃった場合や、後日にPC起動した後などでまた生成したいという場合は webui-user.bat を実行してください。
で、ダウンロードしておいたモデル anything-v4.5.ckpt を
C:\stable-diffusion-webui-1.2.1\models\Stable-diffusion
に入れます。
DOSウィンドウに、Running on local URL: http://127.0.0.1:7860 と書いてあると思うので、ブラウザで
http://127.0.0.1:7860
にアクセスします。
ついに Web UIが起動しました。
まずは左上の checkpoint でさっきコピーした anything の ckpt ファイルを選択しましょう。
つぎに日本語化しましょう。
Extensions タブの Localization のチェックを外して Load from ボタンを押すと、インストールできるものが下に色々と出てきます。
その中に ja_JP Localization と言うのがあるので、その右にある Install ボタンを押します。
ブラウザを再読み込みし、Settings タブの User interface の Localization で ja_JP を選択。
Apply settings を押します。
DOSウィンドウを閉じて、webui-user.bat を実行。ブラウザを再読み込みすると日本語になります。
で、適当なテキストを入れて生成してみると・・・
ここでまたエラー・・・
RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'
このノートのGPUでは Half が使えないのか・・あるいはそもそも CPU でしか実行できない環境で このエラーが出ているのか・・
Python のエラーの出ているソースを見てみるが Half を使わないようにはできそうになく・・
仕方が無く Web UIの 公式ページを見てみると・・
えーAMDの場合、COMMANDLINE_ARGS には --precision full --no-half をつけなさいね、と。
と言う事らしいので、最終的に COMMANDLINE_ARGS は
set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half
のようになりました。
で、またDOSwindowを閉じて webui-user.bat を実行。
生成に時間はかかりますが、テキストから絵が生成されるようになりました。
とりあえず、AI生成やってみたい、何度も試行錯誤して呪文を調べたい勉強したい、という方にはいいんじゃないでしょうか。