Implement Forge Neo/ForgeNeoを導入した話 #1

ローカルPCに導入したAIツールを久しぶりに触った話。


経緯

3年ほど前に自宅のパソコンに画像生成AIソフトであるStable Diffusionを導入した。導入した時の手順はこちらの投稿にも書いている。

一応簡単に説明しておくと、Stable Diffusionとはテキストから画像を生成するAIモデルの一つである。テキストから画像を生成することはText To Image(t2i)と呼ばれる。このStable diffusionというAIモデルをWEBブラウザから使用できるようにWebUIを用意したプログラムを「Stable Diffusion WebUI」と呼ぶ。このWEB UIを開発した(※AIモデルの開発ではない)AUTOMATIC1111氏の名前からAUTOMATIC1111版やA1111版などと付記されることも多い。

当時私がパソコンに導入したStable DiffusionもこのA1111版Stable Diffusion WEB UIというわけである。

◇

それから3年が経過して。

AI技術は急速に発展して世の中には様々な画像生成モデルが登場していた。そんな中、A1111版Stable Diffusion WebUIの開発はすっかり止まってしまい、Stable Diffusion向けのモデルであるSD1.5モデルやその拡張版であるSDXLモデルなども、まだ世の中にはたくさん残っているものの、画像生成という分野に於いては世代遅れなモデルになっていた。

AIに向かって命令文(プロンプト)を送って画像を生成する技術も3年前の当時はまだ目新しい印象が残っていたものの、現在に於いてはChatGPTやClaude、Geminiなど大手企業が提供するAIツールが広く普及し、画像だけでなく動画でさえもアプリでちょっと頼めばすぐに手に入れることができるようになった。生成AIに対して拒否感を持つ人達もまだ少なからずいるとは言え、街を歩けばChatGPTで生成したことが伺えるイラストを目にすることが珍しくなくなった。私が当ブログで愛用させていただいている「いらすとや」のイラストでさえも、最近はあまり見なくなってきているほどである。

そんな時代の変化に合わせてか、私自身もパソコンに導入したStable Diffusionを起動させることも少なくなっていた。

◇

そんな折、ふと久しぶりにゲームに使うポートレート画像でも作ろうかとパソコンに入れたStable Diffusionを久しぶりに起動させようかと思うことがあった。

しかし前述の通り、SDモデルやSDXLモデルはすっかり時代遅れなモデルである。一方、高々ゲームに使う程度の画像を用意するのにChatGPTなどのクラウド型のAIツールを使うにはクレジットが若干勿体なく感じる。それならツールもアップデートして自宅パソコンで(リソースが許す範囲内で)最新のモデルを使えるようにしようと思った次第である。


Forge Neoの導入

そんなこんなでパソコンに画像生成AIモデルを稼働させるためのWEB UIとして「Forge Neo」を導入する。

Stable Diffuisionを動かすために使っていたWEB UIである「Stable Diffuision WebUI」の開発が停止した後、有志による後継として開発されたWebUIアプリに「Forge」がある。この「Forge」自体も現在では開発が停止しており、さらに派生となる「Forge Classic」や「reForge」などが開発されているのだが、そんな派生アプリの一つに今回の「Forge Neo」がある。

画像生成に限らず動画や3Dモデルなど様々なものを生成できるUIを持ったアプリとして「ComfyUI」がある。現時点においてローカルPCに導入する生成AIアプリとしてはこちらの方がより多くのことが出来るとは思うのだけど、元々Stable Diffuisionを触っていた身としては同じベースのWEBインタフェースを持つ「Forge Neo」の方が導入のハードルが低いだろうと判断した。

※一応ComfyUIもインストール自体はもうしているので、ForgeNeoの方をある程度触ってみてまだ意欲が残っていればComfyUIの方もちょっと触ってみたいとは思っている。


Easy Forge Neoのインストール

Forge Neoをインストールする方法もいくつかあるみたいだが、今回は「Easy Forge Neo」を採用することにした。

「Easy Forge Neo」とはForge Neo単体に合わせてGitやPythonなど必要なソフトが一緒になったパッケージ版のようなものである。Forge Neo単体でインストールしても良かったのだけど、元々Stable Diffuision WebUIを導入しているパソコンに追加するにあたって異なるバージョンのPythonをインストールする必要が出てくる。バージョン管理が面倒くさいと思ったのと、少なくともForge Neoが正常に稼働することを確認できるまではStable Diffusion WebUIが動く環境をできるだけ潰したくないと思ったのが主な理由である。

移行が完了するまではなるべく現行環境を維持するというシステム屋の性分みたいなものである。

◇

Easy Forge Neoのインストールは名前の通り簡単で、Easy Forge NeoのGitHubからインストーラーとなる「EasyForgeNeoInstaller.bat」をダウンロードしてきて、インストールしたいフォルダで実行するだけである。

私の場合であればDドライブの直下に「D:\EasyForgeNeo」とフォルダを作成して、そこでbatファイルを配置して実行した。


Easy Forge Neoの起動

インストールが完了するとフォルダの中に様々なファイルが展開されている。

「Easy Forge Neo」には2種類のForgeが含まれており「Forge Neo」と「reForge」がある。起動時に使用するモデルなどは共通で利用できるようだが、稼働するプログラムが2種類あるということのようである。「Forge Neo」の方がいろんなモデルを使用することができるが古い拡張機能など互換性がなく稼働しないものがあるようで、そのような古い機能もそのまま引き継ぎたい人は「reForge」を使うと良い、といった感じのようである。

  • Forge Neo:新しい。色んなモデルが使える
  • reForge:過去のモデルや拡張機能との互換性がある
今回は新しいツールを使おうというのが主目的なのでForge Neoの方を使用する。

◇

Stable Diffusion WebUIを起動する時は「webui_user.bat」を実行したが、Easy Forge Neoを起動する時はインストールフォルダ直下にある「ForgeNeo.bat」を実行する。ちなみにreForgeの方を起動したい時は「reForge.bat」を実行すればよい。

また「ForgeNeo.bat」以外にも「ForgeNeo_NoOptions.bat」や「ForgeNeo_Fast.bat」など名前の後半に説明が付記されたbatファイルもあるが、こちらは起動時のオプションが異なるバージョンの起動スクリプトになっている。今のところ私は高速化向けの起動オプションがついた「ForgeNeo_Fast.bat」をメインに使っている。

未確認ではあるものの「Easy Forge Neo」を使わずに「ForgeNeo」単体だけを手動でインストールした場合の起動スクリプトはStable Diffusionと同じように「webui_user.bat」となっているようで、インターネットで調べていると「webui_user.bat」で実行する~など書かれた文章が散見される。起動オプションの内容も単体でインストールしたものとは若干異なるっぽいのでEasy Forge Neoを使用する場合は注意が必要そうである。

また、起動オプションを変更する場合は既存のbatファイルを直接書き換えても良いが、ForgeNeo自体をアップデートした時にbatファイルがロールバックしてしまう。それを回避するために別名のbatファイルを作る方が良いらしい。

◇

ForgeNeoを起動するとStable Diffusion WebUIと似たWEB UIが立ち上がる。

起動時のUI。SDと同じデザインだが項目が増えている。

SDと異なる点としては一番左上にある「UI Preset」のプルダウンでモデルを選択できるようになっており、モデルごとにそれぞれ使用するチェックポイントやVAE、text encoderの情報が保持される。XLで生成したいときはこのチェックポイント、Illustriousで生成したいときはこのチェックポイントと都度設定を入れ替える必要がなくなっている。


なお、チェックポイントなどの格納場所は「<インストールディレクトリ>\model」配下となっている。「<インストールディレクトリ>\sd-webui-forge-neo」を見ると従来のStable Diffusionと同じようなディレクトリ構造が見られるが、こちらの方は触る必要がない。

  • <インストールディレクトリ>\model\Stable-diffusion : チェックポイント格納場所
  • <インストールディレクトリ>\model\VAE      :VAE格納場所
  • <インストールディレクトリ>\model\TextEncoders :TextEncoder格納場所
それぞれのパスにフォルダを追加しても問題ないので複数のモデルを使い分けるのであれば、XL用にはXLフォルダ、Illustrious用にはIllustriousフォルダみたいにモデルごとにフォルダを作って分けるようにしておいた方が分かりやすい。


実行に当たってのプロンプトの入力場所などの説明については今回は割愛。

実行して生成されたアウトプットは「<インストールディレクトリ>\Images」配下に格納される。WEB UI上で保存したものも同じImages配下にある「Saved」フォルダに保存される。実行時の自動保存と同じ階層に保存されるので実運用的には保存するというよりも気に入った生成物を選別するみたいな印象がより強くなっている。(自動保存と手動保存の仕様自体はStable Diffusion WebUIの時も同じではあるが)

◇

というわけでForge Neoをインストール~実行するまでの話でした。


Previous Post
No Comment
Add Comment
comment url