見出し画像

【AMD Amuse】量産体制

AMD Amuseを使って、専用のグラボなしのローカル環境で画像生成AIを行っています。

今回は、画像を1枚1枚生成するのは苦労するな~ということで、自動生成の量産体制について紹介します。



シード値とは

ちょっと寄り道して、Stable Diffusionなどで指定できる「シード値」について説明します。

画像生成AIによる画像の生成は、運任せなことがけっこう多いです。
というのも、同一モデル、同一プロンプトを用いても、シード値が異なれば異なる画像が生成されるためです。

シード値とは、生成する画像のランダム性を決定づけるパラメーターのことです。
シード値に何番を指定したから何が描かれるというものではありません。
シード値の違いにより、細かい描画に影響することもありますし、時には画像全体に大きく影響することもあります。

シード値の種類はおよそ42億通りもあるため、ランダムなシード値を指定して偶然同じシード値が使われる可能性はほぼありません。
もしモデルとプロンプトを決定して最高の傑作が生成できたとしても、そのときのシード値を覚えていなかったときは、おそらくもう2度と同じイメージを生成することはできません。
つまり、シード値により傑作が生まれる可能性もあれば、駄作が生まれる可能性もあるということです。

シード値は適当な値を固定で使っても良いのですが、通常はランダムな値を使用します。
Seedを指定するところの右のアイコンで、矢印が交差したやつを押すと、生成のたびに毎回ランダムなシード値が使用されるようになります。

図の中央の、矢印が交差しているアイコンが「Random Seeds」

数打ちゃ当たる

たとえば、ImageFxで画像生成を行ったとき、1回の操作で4枚の画像の生成を試みます。
プロンプトや生成結果の検閲(?)によって、最終的に4枚生成されない、または1枚も生成されないこともありますが、複数の画像を生成してくれれば、その中で最も良いものを選択できます。

AMD Amuseでも同様に、EZ Modeでは4枚の生成を試みます。
「Image Count」というスライダーをいじると、4枚以外にも1~10枚の範囲で生成されるようです。
ただ、EZ Modeはちょっと試したら捨ててよい程度の機能しかないモードですので、ここでは扱いません。

EZ Modeでは1~10枚の画像をまとめて生成します

AMD Amuseで画像生成するなら、EZ ModeではなくAdvanced Modeですので、Advanced Modeで画像の複数枚生成する方法を紹介します。


Advanced Modeでの複数生成

AMD AmuseをAdvanced Modeで起動したら(または切り替えたら)、画面の各箇所で次の項目が選択されていることを確認してください。

  1. Image Generation (画面上部の大きなタブ)

  2. Text To Image (画面左の縦並びアイコン)

  3. Options (プロンプトの下のタブ)

  4. Output View (画面右下の下向きタブ)

これらが、Advanced Modeにおける、いわゆる通常モードです。

Advanced ModeでのAMD Amuse起動画面、各所を確認してください

モデルは適当に「unStable Illusion」を選択します。ひとまず軽めのモデルがおすすめです。
プロンプトも何でも良いのですが、狐の女神の未来像を描かせてみることにします。

a fox goddess in Japan, wearing in a cyber costume in the future

日本の狐の女神、未来のサイバー衣装を着ている

日本語訳

このとき、Seedが「Random Seeds」になっていることを確認しておいてください。

この状態で、おもむろに1枚、Generateボタンで生成してみました。
当たり前ですが、1枚画像が生成され終了します。

ここまでは通常の画像生成の手順をおさらいしただけ

Live Update機能

ここで、Live Update機能について紹介します。
紹介はしますが、私はLive Update機能を全く使いません。

Optionsで設定できる項目は変更するとModelのデフォルト値に設定されたり、ほかのモデルに影響したりとややこしいことが発生するので、あまり変更したくないところではありますが、よく見ると「Enable Live Update」というチェックボックスがあります。
試してみればすぐわかることですが、ここをチェックする(ONにする)と、GenerateボタンがStartボタンに、CancelボタンがStopボタンに変わります。
Startボタンを押すと、ライブ生成が始まります。

この状態では、プロンプトが変更されるたびに自動的に画像を新しく生成するようになります。

プロンプトを途中まで入力した状態、事故が起こりそうなのでライブ配信では使えません
プロンプトを最後まで入力した状態、使ってみて、別にライブ生成しなくても良いかなという印象

この機能が使えない理由ですが、私の環境では生成に時間が掛かりすぎることが挙げられます。
今回のモデルで生成時間は約14秒、ということは、プロンプトを修正して反映されるまで14秒掛かるということです。
LCMのもっと早いモデルを使えばそれほど気にならないかもしれませんが、プロンプトが確定していないときの途中段階の画像を生成しても、途中段階の画像が生成されるだけです。プロンプトをある程度確定させてから、Generateボタンを押す、という運用で事足ります。

なお、Live Updateを開始(Start)したとき、シード値は固定されるようです。
ライブ生成中にシード値がコロコロ変わっては生成される画像の一貫性がなくなるため固定にしているのでしょうが、Live Updateを停止(Stop)してもシード値は固定状態のままです。
Live Updateをやめたときは、忘れずにRandom Seedsにするように気を付けてください。

Automation機能

Live Updateよりは使える機能、Automation機能について紹介します。

Optionsと同じ並びに「Automation」というタブがあります。
OptionsタブでRandom Seedsになっていることを確認してから、Automationタブを選択してみてください。

量産体制の主役、Automation機能はこちらから

Automation Typeというところで変化させる対象を選択できるみたいですが、ここは「Seed」しか使いません。
その下のCountに、希望する画像の枚数を設定してください。ここでは、大きく「100」を設定してみました。
あとは、Automateボタンをクリックして、しばらく待ちます。

Stepsというところで、ひとつの画像の進捗状況(ステップの進み具合)を確認できます。
Batchというところで、Countで指定した枚数の進捗状況が確認できます。

1300秒かけて100枚の画像をまとめて生成しました

右下のほうがOutput Viewだと、最新の1枚しか生成画像を見ることができませんが、その隣のHistory Viewを選択すると今までに生成した画像が表示できます。
右下のColumnsがデフォルトで4になっていますが、ここを増やせばいっぺんにたくさん表示することができます。
この中から気に入ったものを保存することや、再調整することが可能です。
100枚はやり過ぎたかもしれません...

やっぱりAmuse、100枚描いても大丈夫~♪ と、浮かれたくなるほど待った甲斐があります

不要な画像は画像ごとの右下にある赤いゴミ箱アイコンで削除することができます。
ウィンドウの右下にも同じゴミ箱アイコンがありますが、そちらを押すと生成画像の全削除です。
確認もなく、復活もできませんので、間違って押さないようにご注意ください。

なお、Automation機能に限りませんが、StopボタンやCancelボタンを押して画像の生成を中断すると、なぜかモデルがロードされていない状態になります。モデルの選択とロードを再度行う必要があります。


おすすめの生成枚数

今回、「unStable Illusion」というモデルで100枚自動生成する方法を紹介しました。
「unStable Illusion」は比較的軽めなモデルで、1枚当たりの生成時間は私の環境で約14秒です。
1分間で4枚生成できたとして、100枚生成するのに約25分の待ち時間が発生します。

1024x1024を生成できる他のモデルを使ったときは、当然1枚当たりの生成時間も長くなるため、同じ枚数を生成するときは当然長い時間が掛かります。

Automation機能で生成を開始して気長に待っていれば生成が完了しているので、100枚でも1000枚でも大量生産すれば良いのではと思いますが、それはおすすめしません。
モデルごとのおすすめの最大生成枚数(Countに設定する値)は、おおよそ次の通りです。

  • 高速タイプ : ~100枚

  • 標準タイプ : ~64枚

  • 高品位タイプ : ~32枚

  • 最高品位タイプ : ~16枚

4の倍数になっているのは、History Viewにおけるデフォルトの1行の表示枚数が4だからなんとなくそうしているだけで、あまり意味がありません。

重たいモデルで大量生産をお勧めしない理由は、AMD Amuseが勝手にアプリを終了してしまうことがあるからです。
ベータ版なので文句は言えませんが、これが発生するとそれまでCPU/GPUパワーを費やして生成した画像が「なかったこと」になります。※
そうなると、生成は最初からやり直しです。

※自動保存という機能もあるみたいですが、それはそれで駄作をたくさん保存しちゃいそうですので使っていません

上記おすすめ枚数は、おおよそ30分程度で生成が完了するぐらいの枚数、ということになります。
私はノートPCのようなミニPC環境でAMD Amuseを実行していますが、環境によっては上記おすすめ枚数は前後しそうです。

また、途中でアプリが終了しても良いように、プロンプトはどこかにメモしておくこともおすすめします。

勝手にアプリが終了し、次にAmuseを起動したときに現れるメッセージ

次回予告

これまで、「グラボなしのローカル環境で画像生成AI」というのをテーマにAMD Amuseを紹介してきましたが、グラボなしの環境で画像生成AIが使用できる「AMD Amuse以外」の環境について説明しようと思います。
AMD Amuseの立ち位置というか、使い分けみたいなものが見えてくると思います。


おまけ

100柱の未来の女神が現れたことですし、その中からいくつかピックアップしたものを紹介します。
上記の「unStable Illusion」モデルによる512x512の出力を紹介します。
ただ、それだけでは少し物足りない感じでしたので、同一プロンプトにおける四天王モデルでの出力も紹介します。

特に高画質なモデルについてですが、詳細に描画されるようになると局部の表現がnote向けではないもの若干生成されます。
その辺りはある程度自粛していますのでご了承ください。

unStable Illusion

512x512にしてはメタリックの表現が素晴らしく、今回のプロンプトにマッチしたモデルなのかもしれません。
「サイバー」というワードが「光る服」と解釈されるのか、電力消費の激しい画像が多いです。
また、そのためか夜のシーンが多く生成されました。

服を光らせたいためか夜になることが多く、それで黒いと猫っぽくなる
アイアン〇ンのように胸の中心が動力源、耳は大きいがおそらくフェネックギツネ
サイバーな服は電力消費が激しいので、しっかり充電してから撮影します
こちらはLEDが控えめの地味な服、光ってなくてもなぜか目立ちます

iNiverse Mix XL

「サイバー」というワードは神様と逆位置に存在するのか、「女神」というワードと喧嘩しているようです。
ということで女神の神々しさはあまり感じられず、どちらかというと悪の組織の不気味さが漂います。

女神としての自覚がないとしか思えない、ヒーローを倒すために派遣された女幹部
ヘルメットの描きこみが素晴らしかったりするが、悪の組織で露出が必要なのはなぜ?

Fluently XL Final

相変わらず引きの構図が多いモデルですが、悪ではなく正義に寄っている気がします。
アニメで学習した内容を実写で表現したような感じでしょうか。

未来感がなく現代風、似たような人にコミケで遭遇することができるかもしれません
こちらは正義のヒロインでしょうか、女神であっても十分戦えます

Copax TimeLess XL

「サイバー」が機械的という意味だったと思いますが、どうもアナログ寄りなモデルです。
昔の人が考える未来のコスチュームっぽく、地球防衛軍とかはこんな格好しそうですね。

耳さえなければ立派に地球防衛してくれそうな隊員、サイバーに邪魔なのは狐なのか?
指の数はさておき、サイバー感があまりない女神、いや女神感もあまりない

Zavy Chroma XL

こちらも「サイバー」が衰退し、「女神」の神々しさが際立つモデルでしょうか。
色鮮やかでド派手な巫女さんという感じですが、どこの神社を探してもめぐり逢えないと思います。

別にヘルメットは要求していないが、なぜか皆ヘルメットを被りたがる
こうなるともう女神なのか何なのかわからないスタントマンが中に入ってます

SF映画には向きませんが、戦隊モノの特撮映画を作ろうとしている映画関係の方、狐の女神を主人公または敵役にしていただけるようであれば、スカウトをお待ちしています。
コメントで要望とかいただければ、わかる範囲でシード値を公開します。

いいなと思ったら応援しよう!