見出し画像

Stability Matrix(v2.8.x Mac版)がApple Silicon M2で動作!#インストールメモ

Stability Matrix(v2.8.1 Mac版)が MacBook Pro 2022 (16インチ, RAM16GB, Apple silicon M2)で動作いたしましたのでご報告です。



ここまでのあらすじ

Stable Diffusionによる画像生成環境を構築するためのパッケージインストーラー「Stability Matrix」ですが、長い間Mac版のメンテナンスが止まっていました。v2.8.0からMac版のリリースが再開したのです。

事前準備

テストした環境は Mac Book Pro (M2, 2022, 16-inch, 16GB RAM)で、MacOS Ventura 13.6.2(22G320)がインストールされていました。空き容量は200GBぐらいありましたので、まず最新の Sonoma 14.3.1をインストールいたしました(再現をとるのが難しいので確認はできていませんが、おそらくアップデートはしたほうが良さそうです)。

インストーラーはこちらです

下の方に「MAC OS (APPLE SILICON) 」のボタンが!

ダウンロードした StabilityMatrix-macos-arm64.dmg ファイルを開きます。

左側の「Stability Matrix」アイコンを「Applications」にドロップします。

初回起動時に警告が出ますが、開きましょう。

環境に問題がなければ「✔Everything looks good!」と表示されます。使用許諾(https://lykos.ai/license)に合意して、インストールを開始します。

個人的な趣味かもしれませんが、「Portableモード」はデータの整理や移動を楽にしますので、✔していきたいと思います。

パッケージ選択ではエスケープしないように注意!

インストーラーでのインストールは200MB程度のファイルをインストールするだけなのですぐに終わります。まず最初のパッケージ選択は慎重に操作することをおすすめします。何か間違えても必ずエラーメッセージ等は出ていますので、強制終了などはしないで丁寧にログは見ていきましょう。
まず最初の「Packages」でパッケージ選択をしますが、エスケープキーなどで抜けないように気をつけましょう(やってしまった)。

まずは「Stable Diffusion WebUI」か「ComfyUI」のどちらかを1つだけでいいので「インストール」しましょう。
・欲張って複数のパッケージを入れようとしない
・間違って進めたとしても、Stable Diffusion 1.5 (SD1.5)をダウンロードしておく
・慌てて何も選択しないままこの画面を抜けない

という3点をおすすめしておきます。
※久しぶりに再開したインストーラーなので多少の不具合は仕方ない。

モデルのオススメが出ます

これたぶん広告みたいなものなので、従う必要はないですが、AnimagineXLなどもあるので興味があったらアイコンの右上の◯をチェックしてダウンロード対象にしましょう。

モデルブラウザ、迷ったら Hugging Faceタブで SD1.5 にしておきましょう。
ここはまず動作確認をすることが大事です。

「Prerequisites」のインストール

どんなパッケージを選択してもしなくても、事前準備のインストールが始まります。ここでは慌てずにまず終わるまで安定な環境で待ちましょう。ネットが細かったり電源がなかったりする場所でやる作業ではなさそうです。

Package Modification Failedエラー

途中でこのようなエラーが出ることがありますが、よっぽどのことがなければ諦めなくても大丈夫です。エラーの最初の方まで戻って、何が問題なのかを読み解いていきましょう。

これはエラーログの最初の方です。色が白いところは大丈夫。

よく見ると「pip install --use-pep517」というエラーが出ていることに気づきました。インストーラーでのログはコピペはできないようなので記録を取りそびれましたが、「pipのバージョンが古い」可能性がありますので、環境を更新していきます。コマンドプロンプトを開いて

pip install --upgrade pip
pip -V
Requirement already satisfied: pip in /opt/homebrew/lib/python3.11/site-package(24.0)

という形で最新版に更新していきます。
ただし開発環境に使っていたりすると様々なPythonおよびpipがインストールされていますので、これ自身に効果がない可能性があります。そもそも Stability Matrix自身が独自にPython環境を構築しています(おそらく内部でvenvを使っているはず)。

あとはダメ押しで、最新のMacOSにしておきましょう。
原稿執筆時点(2024/2/10)では Sonoma 14.3.1でした。

さて、Stable Diffusion WebUIのインストールを何回か試していましたが

実は ComfyUIのインストールのほうが先に成功しました。
ログを観ると pip 23.3.1 をアンインストールして pip-24.0をインストールしたりしているようです。

こんなふうにエラーは出ますが、理由を見ていきましょう。

例えば、インストール中になにか失敗が起きて止まったとしても、もう一度再起動して最初からやり直すと前に進む可能性があります。

pipがそもそもインストールされていないひとは、こちらのコマンドでインストールしていきましょう。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
which pip
/opt/homebrew/bin/pip #これが表示されればOK、パスは異なるかも知れない

Symlink, Cudaインストールのオプションも見直そう

色々インストールできずにジタバタしていたのですが、Stable Diffusion Web UI v.1.7.0の下にある「高度なオプション」に2つ選択肢があります。

Symlinkはシンボリックリンクです。おそらく複数のパッケージでのモデルダウンロードのためのディスク容量を減らす効果がありますのでONでいいと思います。
もう一つの{Cpu, Cuda, Rocm, Mps}は「Mps」でいいと思います。
どうしてもうまく動かないならCpuで試してもいいと思いますが、CudaはそもそもM2をサポートしていません。Multi-Process Service (MPS)が正解と信じてまずは固定しておきましょう。 ROCmはAMD環境です。

意外とあっさりインストールできたComfyUI

再起動とインストール、ログよみを繰り返していたらAUTOMATIC1111/Stable Diffusion WebUIよりさきに ComfyUI がインストール成功しました。
むしろQAされているのは最近はComfyUIなのかも知れません。

「Queue Prompt」を押すとエラーになります。左側の「Load Checkpoint」に正しくモデルが読み込まれていません。選択します。
Stable Diffusion 1.5 prunedがダウンロードされていたらすぐに選択できるはずです。再度「Queue Prompt」を押して数十秒で画像生成できました。

(初回はロードに時間がかかりますが)
ComfyUIでの標準的なSD1.5での画像生成は10秒~15秒といったところです。体感けっこう速いですね。

12秒ぐらいですね

さて、ここまでできたら、AUTOMATIC1111も動作しました。

途中で失敗したインストールも、パッケージ選択のところで「取り込む」とすると再チャレンジできるようです。不要なものを削除し、再チャレンジすると、動作するようになりました。

ここから先は欲張ってモデルブラウザで「すべてを選択」して見たり、色々していきましょう。

モデルを「全て選択」

新機能、機能拡張のインストールもできます。


InvokeAIも


https://github.com/invoke-ai/InvokeAI

Packagesからインストールします。
こちらも失敗しているのか「Unknon Package」になっています。

「パッケージタイプ」を選択して「InvokeAIw」を選びましょう。
自動でバージョン番号が表示されますので「インポート」します。

Macでの Stable Diffusion ライフの始まりですね!

UIはAvaloniaで書かれているようです。

https://avaloniaui.net/

追記: v.2.8.2がリリースされました

・欠落していた GFPGAN リンクを Automatic1111 パッケージに追加
修正済
・スケジューラを変更した後に推論画像から画像へのノイズ除去設定が非表示になる問題を修正
・すでにインストールされている場合でも、推論 ControlNet モデルがダウンロード可能として表示される問題を修正しました。
・推論サンプラー アドオンの条件付けが適用されない問題を修正しました (ControlNet)
・拡張機能の変更ダイアログに進行状況メッセージが表示されない問題を修正

この記事が気に入ったらサポートをしてみませんか?