0. はじめに
この記事は、Mac PCでStable Diffusion Web UIのインストールから、拡張機能であるControlNetのインストールまでの手順をまとめています。
1. Stable Diffusion web UIのインストール
1.1. Homebrewのインストール
まずはインストールするMacにHomebrewがあるかを確認しましょう。ターミナルで以下のコマンドを実行して、インストールされているHomebrewのバージョンを確認します。
brew --version
もしMac内にHomebrewがインストールされている場合、インストールされているHomebrewのバージョンが表示されます。インストールされていない場合は、バージョンが表示されません。
Homebrew 4.6.10
Homebrewがインストールされていない場合は、Homebrew公式サイトに記載されている以下のコマンドを入力してHomebrewをインストールしてください。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1.1.1 ライブラリのインストール
Homebrewのインストールが完了したら以下のコマンドでCMake(cmake)
, Protocol Buffers(protobuf)
, Rust(rust)
, Python(python@3.10)
, git
, Wget(wget)
をまとめてインストールします。
brew install cmake protobuf rust python@3.10 git wget
1.2. Stable Diffusion web UIのリポジトリをcloneする
GitHubのStable Diffusion web UIのリポジトリをcloneします。cloneの方法については【ターミナル操作】cloneしたデータの作業内容をcommitしてpushする前にpullしてmergeしようを参考にしてください。
# 保存したいディレクトリ内でcloneする
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
1.3. Stable Diffusion web UIを起動
cloneしたディレクトリ内に移動し、以下のコマンドでStable Diffusion web UIを起動しましょう。
# stable-diffusion-webuiディレクトリ内に移動
cd stable-diffusion-webui
# 起動※readmeの起動方法では起動しなかったので注意
./webui.sh --opt-split-attention-v1
オプション解説
-
--opt-split-attention-v1
:メモリ使用量を最適化するためのオプション
オプションについてより詳しく知りたい方は、SAWAさんの記事:Stable Diffusion web UIを起動する際にオプションをつけて高機能で動かすを参考にされてください。
無事に起動すると、以下のような画面が表示されます。
1.3.1. 起動に失敗した場合
※AIイラスト研究室さんの記事Mac OS 12 → 14.6.1へアップデート、SDが動かなくなって困ったぞ【解決済み】を参考にさせていただきました。
上記のコマンドでうまく起動しなかったときは、webui-macos-env.shの8行目を確認し、次のように記述されているかを確認してください。
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate"
このとき、次のように最後の部分(interrofateの後ろ)に--no-half
を追加して保存してください。
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate --no-half"
2. ControlNetのインストール
Stable Diffusion web UIの拡張機能であるControlNetをインストールしていきます。
2.1. ExtensionsタブのInstall from URLタブを選択する
起動時はtxt2imgタブが選択された状態になっているので、Extensionsタブに切り替えてください。
次に、Extensionタブ内に表示されている画面にあるInstalledタブを、Install from URLタブに切り替えてください。
2.2. GitHubのControlNetのリポジトリからURLをコピー
GitHubのControlNetのリポジトリからURLをコピーして、
Install from URLタグ内に表示されたURL for extension's repositoryに貼り付けて、Installボタンを押してください。
2.3. Apply and restart UIを押す
インストールが完了したら、InstalledタブにControlNet(sd-webui-controlnet)が表示されていることを確認して、Apply and restart UIをクリックしてください。
無事に更新が完了すると、以下のようにtxt2imgタグ内に表示されたGenerationタグ内に、ControlNetの項目が追加されていれば、ControlNetが使えるようになりました。
※最初はどこに追加されているのか分かりにくいので、タグに気をつけて探してください。
なお、このControlNet(画面上ではControlNet v1.1.455)をクリックすると、次のように細かな設定画面が展開されます。
2.3.1 Hugging Faceからモデルをダウンロード
ControlNetを使う際は、使用する前にモデルをダウンロードしておく必要があります。
今回はHugging Faceのモデルをダウンロードしました。
有名なopenposeとcannyをダウンロードしてみました。
ダウンロードしたモデルは、/stable-diffusion-webui/models/ControlNet
ディレクトリに格納すると使用できるようになります。
なお、Stable Diffusion web UIのモデルは、Civitaiも有名で、こちらのダウンロードやモデルの格納方法については@Marusoccerさんの記事【Mac】Stable Diffusion Web UIをインストールする方法を参考にされてください。
3. さいごに
いかがでしたでしょうか?この記事ではControlNetが使えるようになるまでを紹介しましたが、実際に画像を思い通りに作成する方法については紹介していません。私自身もまだまだ試行錯誤の途中です。もう少し上達した時は、画像生成の記事を作りたいと思います。
参考資料
記事作成にあたり、以下を参考にさせて頂きました。心より感謝申し上げます。
【Stable Dffusion Web UI関連】
- Homebrew公式サイト
- 【Mac】Stable Diffusion Web UIをインストールする方法
- GitHubのstable-diffusion-webuiリポジトリ
- AUTOMATIC1111 版 stable-diffusion-webui を Mac で使う
- Stable Diffusion web UIを起動する際にオプションをつけて高機能で動かす
- Mac OS 12 → 14.6.1へアップデート、SDが動かなくなって困ったぞ【解決済み】
- CMake再入門メモ
- CMake入門-基本概念と主な関数
- protocol bufferに入門した
- プログラミング言語Rustになぜ注目するのか
- Wget公式サイト
- 【Stable Diffusion Web UI】プロンプト例の一覧 (表情・服装・ポーズ・背景・アニメ) | 使い方のコツまで紹介
【ControlNetをインストール関連】
【モデルサイト】