FLUX.1からの撤退.....。
この記事でどうにか最低限の条件で「dog」を描いた
Stable Diffusion Web UI Forge での FLUX.1 でしたが、やはりハード
ウエア拡張が出来ない Geforce RTX4060(GPU VRAM 8GB)ノート
機では、早くも限界を感じました。
まず CheckPoint ファイルに最小の flux1-schnell-bnb-nf4.safetensors
(11.2 GB)以外を選択するとメモリ不足で異常終了します。
CheckPoint ファイルを他に選べない描画というのは、Kling AI での
Text to Image (CheckPoint ファイル名は見えない)や 旧 mage.Space
の無償 SDXL だけの描画と同様、意図したニュアンスを形にするには
難しいところです。
また schnell タイプの FLUX.1 には「Sampling steps = 4」を推奨
とあります。CivitAI や note 記事での先人様の作例を拝見すると
「Sampling steps = 20」のものばかりで、これは schnell タイプ
の CheckPoint ファイルを使った作例でないことを理解出来、
土俵にも上がれない自身にがっかりさせられます。
(この魅力ある表情の作例は、note で相互フォロー頂いている方が
作成された FLUX.1 用の LoRAを使って別の方が描画されたものです。)
上述の当方理解が間違っていて、flux1-schnell-bnb-nf4.safetensors
でも「Sampling steps = 20」の設定が可能かどうか徐々に設定を
上げて行きましたが、残念ながら従来の SD1.5 などでの理解とは
異なり、値が大きくなるほどに演算回数が増えることでの画質向上に
つながる訳ではない、ということを確認出来ました。
いつものサイバー女子隊員画のプロンプトで試してみました。
( 244 トークン相当で推奨の 75 トークンを超えていますので
その弊害が無いとも限りませんが。)
outdoor, ((upper body)), ((( wearing gray and black nano-suits)))+++, (wide hip:0.7, large breasts:0.8, perfect slender young girl body) ,Perfectly glossy skin ,25 yo mature girl, , picture of a vivid, (masterpiece:1.2),(extremely detailed),(8k:1.1),(perfect lighting,best quality,highres,original),(realistic photography:1.4) ,high detailed skin,shaded face, soft lighting, (small face),RAW, ultra highres, pores visible, , shiny_and_glossy_skin, asian beauty, (gorgeous beautiful 20 years old asian girl), ((best detailed slender body)), (asian idol, asian beauty, asian mixed), (complex, Machine background ,spaceship outdoors background, Mecha Transport parts:1.2), (dark and foggy environment:1.1), ((heavy fog environment:1.1)), (battlefield behind:1.2),
flux1-schnell-bnb-nf4.safetensors で「Sampling steps = 4」での描画です。
flux1-schnell-bnb-nf4.safetensors で「Sampling steps = 20」での描画です。
むしろ像が拡散してしまうようでした。
flux1-schnell-bnb-nf4.safetensors で「Sampling steps = 30」での描画です。
値を大きくしても異常終了はしませんが像の拡散は改善されず、結局
推奨の「Sampling steps = 4」が最も鮮鋭だった印象です。
なので CivitAI や note 記事で見られる魅力のあるFLUX.1 作例(「Sampling
steps = 20」かつ 像の拡散が無い)は、schnell タイプの CheckPoint
ファイルを使っている画ではないことを理解出来、逆にいえば当方の
環境で魅力ある肖像は難しいのか、と感じるようになったのでした。
顔色が過剰なのは negative prompt が有効でない(FLUX.1 では使わない
とのことで「CFG Scale = 1」固定)ため、その中の記述「 (((color on cheeks)))+++,」が効かないことも影響しているでしょうが、こんなに
薄汚れた印象でなくてもよいのに、と感じたりもします。これは
flux1-schnell-bnb-nf4.safetensors の描画個性なのでしょう。
本当に negative prompt を使えないのか、CFG Scale を 1 以外に設定
してみますと、negative prompt への入力は可能となるのでしたが、
像は酷いものとなり、やはり「CFG Scale = 1」固定が是のようです。
negative prompt に入力したい記述は否定形にして prompt に与えて
やる必要がありそうです。
flux1-schnell-bnb-nf4.safetensors で「Sampling steps = 4」「CFG Scale
= 2」での描画です。
有効に出来ないかと考えた negative prompt は、いつものサイバー女子隊員
画に使っていたものでした。
(((uneven breasts)))+++, (((color on cheeks)))+++,(((close up)))+++, ((mask))++, ((facemask))++, monochrome, easynegative,ng_deepnegative_v1_75t,(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,bad hands,normal quality,((monochrome)),((grayscale)),((watermark)),(badhandv4), (bad fingers), (bad arms), (bad hands), (thin), sagging breast, huge breast, bad legs, ((deformed hand)), ((abnormal hand)), (long face:1), (less than five fingers:1), (more than five fingers:1, many fingers, six figners, seven fingers), (high forehead:1), ((slanted eyes)), sagging breast, badhandv4, Bad-Hands-5, fat, sagging breast, badhandv4, bad-hand-v5, big hand, three arms, ((long fingers)), tall body, long body, long legs, fat, thin, bad-hands-5, negative_hand-neg, six fingers, thress arms, three hands, fat legs, fat ass, thin body,(hand deformity, hand disability), (((small eyes, small squinting))), (((nsfw:1.5))), (((black line:1.5))), real face, small legs, thin body, ((HDA_BadHands_neg-neg))
「easynegative」「ng_deepnegative_v1_75t」は無視する、とのメッセージ
が処理実体のバッチ処理走行中に見えました。
( つまり negative prompt を一応は見ているようでした。FLUX.1 が
ではなく、Stable Diffusion Web UI Forge が見ているのでしょう。)
flux1-schnell-bnb-nf4.safetensors が描く顔がどうしても気に入らず、
CivitAI で「LoRA F1」区分の LoRA を試してみるのでしたが、効きが
いまいち良く分からないです。
上掲の例は既に「flux1_asian_female_v0.1.safetensors」LoRA を
「1.0」適用していたものでした。
LoRA を外した画はこんな感じで、差というか効きがよく分からない
のでした。
SDXL 適用の時には効きが感じられた SD1.5 用の
「JapaneseDollLikeness_v15.safetensors」LoRA も効いているかどうか
分かりません。(描画方式が異なるので効かないでも納得ですが。)
一方、この記事では…。(情報公開をありがとうございます。)
「LoRAは強度を1.5~2に設定するなど強めに設定しないと効果が薄い」
とあったので、それに従いもう少し何種類かの LoRA を試してみました。
変化の差というか、LoRA の効果は分かります。
それを「美しさの改善」と感じるか否かは主観によります。
これが最も LoRA の効果が感じられました。表情の整いも感じられます。
しかし、どちらも処理直後は nipples がぼっちりと生々しく突出していて、
IOPaint-LaMA で補正する必要が出ました。
(作例をいろいろ見るとそういう LoRA なのか、訳が分かりません…。^^;)
あまり LoRA の効きは分かりませんでした。
これもあまり LoRA の効きは分かりませんでした。
効果は感じられるものも一部は出ては来ましたが、描画の好みに近づく
感じはありません。特にこの CheckPoint ファイル由来である顔の肌や
全体のザラザラ感が回避出来ないものが多いのは理想に遠い印象です。
(LoRA ファイルの作例では肌が滑らかなのは「Sampling steps = 20」の
CheckPoint で描かれたものだからです。)
LoRA での flux1-schnell-bnb-nf4.safetensors が描く顔の補正は断念するなら
と、CivitAI で東洋人の美を追求した CheckPoint ファイルを探すのですが、
とんでもないサイズのもの(15-16 GB)だったりします。
Stable Diffusion Web UI Forge が CPU VRAM へのメモリスワップをしても
これらが使えないのは、冒頭 URL 記事の通り、flux1-schnell-fp8.safetensors
(11.6 GB)が現環境ではメモリ不足で異常終了することからも明らかです。
flux1-schnell-bnb-nf4.safetensors は上掲の例の背景でも分かる通り、
メカ画には向いていそうです。サイバー女子隊員の顔の描写以外は
nano-suits の質感や背景のメカの重厚さなどに独特の印象があります。
やはり SDXL 系と同じように扱うのが当方環境には良さそうです。
以上の経過から人物肖像の描画目的では、FLUX.1 から撤退することに
しました。
決して負け惜しみではなく(^^;)、SD1.5 で何の不満もありませんし…。
むしろ当方が求める「理想の美」と「リアル」の両立はこちらです。
(今回、比較のために上掲の prompt、negative prompt で新たに
描画しました。)
meichidarkMix_meichidarkV45.safetensors による描画(2 画)です。
vigeeMIX_v12X.safetensors による描画(2 画)です。
美しくない要素まで清濁併せ吞む「リアル」描写ではなく惚れ込むレベル
での「美しい肖像」の理想化が、設定した未来像と両立していると
自身では感じます。
なんなら、上掲例のようなレースクイーン画だって表現に不足はない
と感じます。 ( prompt は上掲例から借用しました。)
レースクイーンって面白い呼称ですよね。昔だけでなく今もそう呼ばれて
いるのでしょうか。
レースの勝者でもなく(勿論「賞品」でもなく^^;)、レースのスタンバイ
中に場内に居るだけの女性たちですよね…。あまり良く知らないのですが。
その存在意義や、彼女ら自身が被写体として胸を張ってのある種の「高級な
女性」としてのステイタス扱いなどの社会通念については、当方はよく
理解できない一方で、描画 AI はそれらを当方の頭越えでしっかり理解
している(なのできっと破綻なく描画出来ている)というところに
奇妙な深淵は感じます。
簡単に纏めると「元鈴鹿 8 耐レーサーだった女優」は「おおそうなんだ!」
とか感嘆する半面(誰よそれ)「私、元レースクイーンだったんですよ」
なモデルというのには「だから何ですか?」という感情が否定出来ない
のでした。
そういう存在肯定/ 否定的なニュアンスを含めた上での、meichidarkMix_meichidarkV45.safetensors による描画(2 画)です。
存在肯定 / 否定双方のニュアンス…伝わりますかね。
油臭いサーキットの殺風景の中にある華の意義 / 何故そこまで自身の存在に
自己肯定感を疑わない振る舞い….その両面が出ています。
vigeeMIX_v12X.safetensors による描画(2 画)です。
…とか言いつつ、何かの間違いで上掲の fluxAsianRealistic_v10Fp8.safetensors
がうまくCPU VRAM Swap されたりして描画されたら、論旨大逆転で本記事を書き直しになるかも、などと最後の念押し確認までにトライをしました。
Checkpoint ファイルをダウンロードして、連携するVAE も入手格納の上、
一旦、描画PC をシャットダウンして、Stable Diffusion Web UI Forge を
再起動して作例からプロンプトをコピーしてくる間だけ Chrome のタブ
ウインドウの 2 つ目を使って….。
ペースト後はそれを閉じ、Stable Diffusion Web UI Forge だけを動作
するようにして実行しました。
えっ。えっ。エラーなく進むのか?
[Memory Management] Current Free GPU Memory: 6237.12 MB
[Memory Management] Required Model Memory: 11350.07 MB
[Memory Management] Required Inference Memory: 1024.00 MB
[Memory Management] Estimated Remaining GPU Memory: -6136.95 MB
[Memory Management] Loaded to CPU Swap: 7345.82 MB (blocked method)
[Memory Management] Loaded to GPU: 4004.23 MB
経過中、とんでもない多量の CPU VRAM へのSwap 処理も行われつつ、
処理はどんどん進行しました。
最後までメモリ不足による異常終了も出ずに処理が終わってしまいました。
が、画は真っ黒…。
Fooocus が登場する以前の Stable Diffusion Web UI(AUTOMATIC 1111 版)
で事情知らずのまま、SDXL 系の CheckPoint ファイルで描画させた時の
「ほぼ描き切れてるのに何故最後で真っ暗?」と同じく、そして先日の
最初の「dog」描画(冒頭 URL 記事)の時と同じでした。
参考にした作例では「Sampling steps = 25」だったのと、prompt 中に
入手していない LoRA ファイル(検索しても見つからず)があったので
それを修正して最後の再実行をしました。
( LoRA ファイル記述を外して「Sampling steps = 20」での実行です。)
おいおいおい….背後に画が出てるぞ??
処理本体は正常終了….しかし UI 画面は青色の進行バーが 100% になった
瞬間にやはり真っ黒になりました。
やはり CPU VRAM への Swap 処理を含めても GPU VRAM 環境に
不足があって使えない(惜しいが)、ということなのでしょうか。
(前提となるVAE の選択に誤りがあった、とかの余地も漠然と
残ってはいますが、現時点は「矢尽き刀折れ」状態で何かご教示、
ご指摘を頂けると幸甚です。>先人様、皆様各位。)
将来の Stable Diffusion Web UI Forge のエンハンスでの解決を
淡く期待しつつ、当方環境ではFLUX.1 は上述の通り、メカ画
など特別な用途に限定して、最小の flux1-schnell-bnb-nf4.
safetensors(11.2 GB)のみをを使うことにします。
本記事の趣旨を最後にひっくり返さなくても済んだ、という安堵と
やはり強い残念感が交錯します。
新しい環境にトライして結局その時間に見合う自身の革新が得られない
徒労感は、それがたとえ正味半日の足踏みであったとしても、正直、猪年
生まれ血液型AA の当方には「残った寿命を無為に消費した」という強い
後悔を否めません。
(この感覚は自身でも 50 歳代には想像も出来ませんでした。まだ
当時はそれまでの若い時代と同様に「自身の未来は無限に開いている」
という根拠のない自信が、自らとその周囲にバリアのように感じていた
ものでした。大いに七転八倒を惜しまず見えて来る未来があると信じて
疑わなかった時代の肌感覚でしたが、今はもう何につけてもそれを
感じることはなくなりました。)
新しい環境の可能性を求めるのではなく既に運用が習熟した環境
の中で、自身が可能な限り拡張できる表現自体を、追求するべきでは
ないのか、例えば、近現代に名を遺した大作曲家が過去には無かった
新しい表現拡張のために常に新しい楽器や演奏形態を要求したか、
事実としてそうではなかった、というその客観視点を見失っては
いけないと改めて感じさせられました。
ご覧いただきありがとうございます。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?