「Stable Diffusion web UI」インストール騒動を乗り越え、男性キャラ錬成に励んだ回。

Stable Diffusionを使ってみようと決意した流れはこちら。
さて、今回「Stable Diffusion」を試してみるにあたり、方法はいくつかありました。
  • 自分のパソコン(ローカル環境)にインストール(難易度:高/自由度:高)
  • Google colabにインストール(難易度:中/自由度:中)
  • Stable Diffusionが使えるWebサービスを利用(難易度:低/自由度:低)
ローカル環境構築だいすきなので一択かな。Google colabも手軽そうだけど…
この「Stable Diffusion web UI」が良さそうでいいな。でも画像生成とかスペック要求が高そう…いうて、Live2D作ってるマシンだからさほど問題ないじゃろ(慢心)
くらつひわ
GeForce RTX20以降? VRAMは10GB…??
解散?
うちは「NVIDIA GeForce GTX 1660(6GB)」なので、気持ちよく動かせるスペックどころか、インストールしても動くか怪しい。これはいきなり頓挫か…NovelAI課金か?

誰か既にインストールして動かせた!という人はいらっしゃらないものか…いらした! ということで動かないわけではない…いけそう…ダメ元でやってみるか、と着手。
(とても励み&参考になりました、ブログの人ありがとうございました)
くらつひわ
なお、ここでは「インストールの失敗談」などがメインなので、そうじゃなくてすっきりとインストールするにはどうしたらいいの?
という場合は下記の記事にまとめてますのでどうぞ!

【追記】最新版:わかりやすく簡単なインストール方法

私が古い記事を読みながら進めて失敗した話より先に本題から記載しておきます。
初めてローカル環境で「Stable Diffusion web UI 1111」をインストールする人は下記の記事が最新の情報を反映していて大変お役立ちでした。ありがとうございます!

とにかくオールインワン!簡単に済ませたい初心者向け

既にPythonやGit導入済みで1手順ごとに進めたい人向け

くらつひわ
ここから先は「古い記事を見ながら進めたらエラー出た」人の
奮闘記となりますのでご笑納ください…

Stable Diffusion web UI インストール!…前にエラー(解決済)

インストール方法についてはGIGAZINEさんが工程ごとにスクリーンショットを掲載してくれているので一番わかりやすい。と思ってたけどやや古い記事ゆえの罠があった。
(※まだオールインワン型のインストーラーに気付いてなかった)

罠が待ち受けてるとも知らず、PythonとかGitとかインストール難しそうと思ったけど、書いてある通りに進めるだけなので簡単、さくさくとインストールが終了。
いざ!「webui-user.bat」をダブルクリック!→ エラー……
くらつひわ
想定内ですね、問題ありません
一度ぐらいは出るだろ
1からやり直してみたり、再起動をしてみてもダメ。インストール自体が進まないらしい状態。エラー内容を元に模索してみてもダメ。諦めようか、そう思った時…

最新の3.11以降では実行時にエラーが出るとのこと!

さらに調べてみると、古すぎてもダメ。Python3.8未満&3.11以上がアウト。という主旨のFAQ発見!(某Wikiさんありがとう。リンクNGなのでエアお礼のみ…)

理由は「Stable Diffusion web UI」が上記のバージョンには対応してないのだそう。
なるほど…Python3.11.xバージョン入れてたわ!(2023/3/2時点の最新版だった)
よーしよしよし、これでいける! ……そう思っていたんだけど。

GIGAZINEさんの紹介記事ではPythonのバージョンには特に触れられてない。
記事作成時点で「最新版(3.10.7)」と記載があり、その時はエラーが出る状態ではなかったので注記を入れる必要性もなかったのだと思います。

次のエラー「No Python」の罠(解決済)

「No python」エラーでインストールが止まる。ありますけど目の前に???
念のため、3.11はアンインストールして再起動。その後に3.10を入れたし、webui-user.batを開いて中にある「set PYTHON=」にPythonのパスも指定してみた。Windows側のPathも見直したし、そもそもコマンドラインを叩けばPython3.10が認識されている。
くらつひわ
なんで…どうして……しかもよく見たら3.11がない!ってエラー
そりゃアンインストールしたから無いよ
あなた、3.11じゃダメだって言うじゃない! 3.10を見て!!
二度目の「やっぱダメかもしれない…」が頭をよぎるものの、同じような環境でそもそもインストールも動作も問題ない先駆者がいる。諦めきれないのでググると…
くらつひわ
venvフォルダ、お前だったのか
webui-user.batと同じ階層にある「venv」フォルダは導入時、webui-user.batを叩いた時に自動生成されるもので、どうやらその中のファイルが「最初に確認したPythonのバージョンを記録」しているらしい?
  1. 最初の実装で、Python3.11を導入
  2. webui-user.batを叩く→venv内のファイルに3.11のパスが記録される
  3. Python3.11をアンインストール(上記の記録されたパスは残ってる
  4. Python3.10を導入し直す
  5. webui-user.batを叩く→Python(3.11)が見つからないよ!のエラー
…と、こういうことだったらしい。3.11を残せば残したで、エラーで進まないし。
二重三重のトラップ状態だったわけです。
くらつひわ
venvフォルダ削除で無事解決!
venvフォルダを削除後、改めてwebui-user.batを起動。
やっとインストールが始まった~!

うきうきのモデルファイル投入

当初、そこまで種類があるとは知らなかったので、ざっくりと2種類をダウンロード。
  • Stable Diffusion(sd-v1-4.ckpt)
  • Waifu Diffusion(wd-1-4-anime_e1.ckpt)

そして始まる、男性キャラ錬成タイム

美少女を錬成してる例は山ほど見かけたけど、男性キャラは…? 男性キャラ目当てだし、なんならオッサン錬成のつもりだったんですが? 実は厳しい…???
入れた後に気付いてググると男性キャラの錬成結果もちらほら…Novel AI産が多いな?
くらつひわ
まだ慌てる時間じゃない、まずはやってみてからだ
中性的な美少年も好きではあるけど、青年以上が欲しいな
とはいえ、まずはサンプルにあった「1girl」系の呪文(プロンプト)を入力して初錬成!
初錬成したのがこちらの美少女さん
くらつひわ
可愛いし、綺麗!女の子もいいな…やや3D寄りな気もする?
目指していた絵柄とは少し違うけど、まずは色々やってみよ
「1girl」の部分だけ、「1boy」や「male」に変えていくつか錬成…だんだん分かってきた。というか、それでモデルファイルの切替なんだな?

モデルをWaifu Diffusionに切り替えてみた

なるほど、だいぶ印象が変わる!プロンプトだけじゃなく、モデルファイルの影響がとても大きいことを学習していく。ひたすら錬成タイム…

ポーズの指定も追加してみた

足を組んでもらう等の呪文を足したら、それっぽく!(この時点ではまだ「ControlNet」のことを知らないので、ひたすらプロンプトでがんばってる)

たまに現れる若い子たちも良い

真ん中の子(今回のアイキャッチ画像にも採用)が4連続ほど、ほぼ同じ感じで生成されたことによって「seed値」があることに気付く。なるほど~!便利だなぁ……

42枚生成してみて初日はゴール!

この日の生成結果はご覧の通り
webui-user.batに「set COMMANDLINE_ARGS=–xformers」を追加した以外、全体的な設定は初期値のまま、試してみてわかったのは「うちのスペックでも結構いける」でした。
推奨以上のグラボであれば1枚を数秒らしいのが、うちだと1分ほどかかるとはいえ、連続で大量に生成したい!とかでなければ十分だなという感想。そして楽しい。

【後日談】慣れてくると逆に遅く感じてストレスだったので、推奨以上のグラボ換装。

まとめ:絵描き視点の感想(初日編)

呪文(プロンプト)やモデルファイルの癖を理解して使いこなしたとしても、どうやらガチャ要素は思っていた以上に高い。
でも「生成した中から気に入ったものを選ぶ」という形であれば、ガチャ要素もまた楽しい。思いがけない奇跡の一枚とか目指してしまう。初日の私が、それ。
くらつひわ
逆に、TRPGや定期更新型ネトゲの界隈だと
自キャラの外見イメージを決めている場合も多いから、
そのイメージに到達するには少し手間取りそう
PBWで10年以上イラスト受注してる経験談として、プレイヤーさんは絵柄の好みイラストレーターの個性とも呼ぶ)を持つ人も多く、それは必ずしも人気で流行りの絵柄とはイコールじゃないので、好みの絵柄を引けるかも運次第。
引けさえすれば、seed値の固定で似た感じをたくさん錬成でき…そう??

ただ、最大の問題は「同一キャラをどこまで再び錬成できるか」かも…seed値を固定してもブレは出てくるので、同一と呼べそうなところまで錬成ガチャにはなりそう。
くらつひわ
まぁ、同一キャラの絵を別のイラストレーターさんに頼むと
絵柄の関係で違って見えるのはよくあるけど!(身も蓋もない)
同じイラストレーターに同じキャラを頼めば整合性を保てます…よ!!!(たぶん)
くらつひわ
でもやっぱ、イラストレーターの端くれとしては
自分の絵柄で錬成できたら楽しいんだけど…やっぱ難しい?
ラフやアタリに使えたら最高なんだけど!

これはまだ「ControlNet」の「canny」を知らない時の発言。
知ってしまったのが下記の記事。ラフやアタリ「が」使えることに…(逆)