Stable Diffusion 環境構築(Mac M1, AUTOMATIC1111)

mae616
·
公開:2025/1/25

環境

M1 Mac Pro (メモリ16GB, ストレージ 500GB)

手順

  1. Appleシリコンの場合これをやる

    https://github.com/mrdbourke/pytorch-apple-silicon#setup-a-machine-learning-environment-with-pytorch-on-mac-short-version

    参考にしたもの: https://www.reddit.com/r/StableDiffusion/comments/15ffn5p/help_sd_on_mac_m1/

    その環境内に stable diffusion を配置します

    て書かれてるんだけど、よくわからず pytorch-test 配下に stable-diffusion-webui を作る形で git clone した。多分そう言うことではないと思うけど、アクティビティモニタをみてるとGPUは使われたっぽい

  2. 下記を見てやる

    https://stable-diffusion-art.com/install-mac/

    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

    asdf(パッケージマネージャ)のインストールは下記。

    ※ 最近はWindowsのWSL2でもHomebrewがインストールできるし、Windowsでもいける。

    はじめよう | asdf

    HomebrewをWindows上で使えるようにする | アールケー開発

    pythonプラグインとpythonのインストール

    asdf plugin add python asdf install python 3.10.9

    asdf でPythonのバージョン管理

    stable-diffusion-webui フォルダだけ python 3.10.9 を適用(自分は別でpythonの別バージョンを使ってるため)

    asdf local python 3.10.9 or asdf global python 3.10.9

    ※ localの場合は python -V しても、ローカルのバージョンは出てこないので注意

    ./stable-diffusion-webui/webui-user.sh

    # Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention" export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half --no-half-vae --use-cpu interrogate"

    デフォルトの mac_env.sh 的なののからコピーして --no-half だけ足したもの。

    ~/.zshrc

    # Stable Diffusion alias sd_start="cd ~/pytorch-test/stable-diffusion-webui; ./webui.sh"

    お決まりの source ~/.zshrc で適用。 ※ パスは自分の環境に。


    WebUI 画面

    • Setings > Stable Diffusion [ ] Upcast cross attention layer to float32 にチェック、「Apply settings」

    • Setings > Stable Diffusion 3 [ ] Enable T5 (load T5 text encoder; increases VRAM use by a lot, potentially improving quality of generation; requires model reload to apply) これを使おうとするとメモリで死ぬので、チェックしない。

    • とりあえず v1.5 で猫でも生成。

かわいいですね


他のモデルを使ってみる

gsdf/Counterfeit-V2.5

というのがかわいいらしい。

あと、下記を見て VAENagativ Prompt というのを入れる。

これやる

WebUIの「Settings」タブから、「User Interface」という項目を選択する。 その中に、「Quicksettings list」というものがあり、ここに追加した項目は、WebUIのメイン画面に表示されるようになる。

私はここで、CLIP_stop_at_last_layersと、sd_vaeを追加している。

記事の生成の通りにやったら、何とかここまで。

自分でプロンプト作ると結構難しいなあ。

失敗例: SD3へ

から sd3_medium.safetensors をダンロード stable-diffusion-webui/models/Stable-diffusion/ の中に入れる。

あとは動かすうちに勝手にダウンロードされる。

...ひたすら黒い画像が生成されるので修正

./stable-diffusion-webui/webui-user.sh

# Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention" export COMMANDLINE_ARGS="--opt-split-attention-v1 --medvram --skip-torch-cuda-test --no-half --no-half-vae --use-cpu all"

参考

画像は生成されたけど可愛くない

をダウンロードして、 stable-diffusion-webui/models/VAE/ の中に入れる。

  • Setings > VAE SD VAE (choose VAE model: Automatic = use one with same filename as checkpoint; None = use VAE from checkpoint) を ダウンロードしたVAEの名前に、「Apply settings」

画像生成

...見なかったことにしよう。SD3は諦めよう。

VAEと起動オプションを戻す。 stable-diffusion-webui/models/CLIP/もバックアップにリネームしとく。

失敗例: Counterfeit-V3.0

起動するときになぜかエラーが出て立ち上がらなくなってしまった。