最近Animaなるモデルが出てきているのでどんなものか試してみたいと思い、

Stable Diffusion Web UI Forge NEOをインストールした。

 

【Forge NEOのインストール】

 

 ここに書かれている事をそのまま実行すれば特に問題無し。

 

【ADetailer】

 今までのWeb UIと同様にExtensionsからインストールすれば良いだけの事。

 ADetailerのURLを指定してインストールしたんですが、、、

 

    なんかNEO用のADetailerをインストールしなさい的なメッセージが出るし

 UIにもADetailerのメニューが出ない。

 

 素直にNEO用ADetailerを入れれば確かにUIは出て使えるが出力結果が異なる

 可能性もあるので気持ち悪い。

 

 そこで本家ADetailerを使えるようにしてみました。

 

 本家にはすでにIssueの報告があってWorkaround(回避策)が書かれていました。

 

  This is a duplicate of #842 — it's a compatibility issue between ADetailer

   v26.2.0 and Forge Neo. Forge Neo's cmd_opts doesn't have 

  the disable_safe_unpickle attribute that ADetailer expects (it exists in

  AUTOMATIC1111's webui but not in Forge Neo) [1].

 

  Temporary workaround: 

   Edit extensions/adetailer/aaaaaa/helper.py at line 45 and change:

    patch.object(cmd_opts, "disable_safe_unpickle", True),

    to:

    patch.object(cmd_opts, "disable_safe_unpickle", True, create=True),

 ひとまず書き換えてNEO再起動する。

 エラーが出てる、、、、、

 Geminiさんにエラー情報お伝えしたらこんな事を提案された。

   エラーログをもう一度見ると、!adetailer.py の 267 行目 
   if "adetailer" in shared.cmd_opts.use_cpu: で落ちています。
   これは helper.py の修正とは別の場所です。

    修正方法: extensions/adetailer/scripts/!adetailer.py を開き、

    267行目付近にある shared.cmd_opts.use_cpu という記述を、

    安全に参照するように書き換える必要があります。

 

    例えば、以下のように getattr を使うのが安全です:

    # 変更前

      if "adetailer" in shared.cmd_opts.use_cpu:

     # 変更後(use_cpuが存在しない場合はFalseを返す)
      if "adetailer" in getattr(shared.cmd_opts, 'use_cpu', []):

 提案に従って当該ファイルを修正してNEOを再起動してみたところ、、、


 使えるじゃん。
 解決。