普段私はDiffusionBeeを使ってお手軽にStable Diffusionを楽しんでいましたが、最新の学習モデルを使おうとしたときにエラーが発生してしまいました。
モデルが読み込めない問題には対応できず、もっと柔軟で高機能なツールが必要だと感じたため、Apple Silicon版のAUTOMATIC1111をインストールすることにしました。
この記事では、AUTOMATIC1111のインストール手順から、高速化の設定、学習モデルの活用法まで、Apple Silicon MacBookで快適に動かすためのポイントを詳しく解説します。
準備編: AUTOMATIC1111を使うために必要な準備と前提条件
AUTOMATIC1111を使うためには、まず適切な環境を構築する必要があります。
このセクションでは、Apple Silicon MacBookで効率的に環境を準備するための前提条件とツールについて解説します。
必要な環境とツール
Anaconda(conda)環境の前提
Anacondaは、Pythonの仮想環境を管理するための便利なツールです。
特に複数のPythonバージョンを切り替える必要がある場合、conda環境は非常に役立ちます。
Apple Silicon MacBookでは、ARMアーキテクチャに対応したAnacondaを使用してください。
インストール済みの確認
ターミナルで以下を実行し、Anacondaがインストールされていることを確認します。
conda --version
インストールされていない場合、Anaconda公式サイトからダウンロードしてください。
Python 3.9以上が必要な理由
AUTOMATIC1111では、多くのライブラリや依存関係がPython 3.9以上を要求します。
特にApple Silicon MacBookの場合、最新のMetal APIやPyTorchの互換性を確保するため、Python 3.9以上を仮想環境内で設定する必要があります。
Pythonバージョンの確認
仮想環境を作成する前に、使用可能なPythonバージョンを以下のコマンドで確認してください。
python --version
仮想環境を作成する(Python専用環境の設定)
Conda仮想環境の作成コマンド
AUTOMATIC1111専用の仮想環境を作成します。
以下のコマンドを実行してください。
conda create -n sd-env python=3.9 -y
-n sd-env: 仮想環境の名前をsd-env
に指定(任意の名前に変更可能)。
python=3.9: Pythonのバージョンを3.9に指定。
仮想環境をアクティブ化
作成した仮想環境を有効化します。
conda activate sd-env
仮想環境がアクティブ化されると、ターミナルのプロンプトに(sd-env)
と表示されます。
現在どの仮想環境にいるか確認するには
conda env listで仮想環境の一覧を見ることも可能ですがシェルのプロンプトに環境名がでているので
現在の仮想環境はそれで確認できます。
仮想環境内での依存ライブラリの管理
仮想環境内で必要なライブラリをpip
またはconda
を使ってインストールします。
これにより、システム全体のPython環境に影響を与えることなく、AUTOMATIC1111に必要な依存関係を管理できます。
ちなみに仮想環境以外のメイン環境ででpipを使用すると以降環境の依存が発生して非常に使いにくくなってしまうのは周知の事実ですが
仮想環境が起動している状態ならばその中でしかpipは影響しませんのでpipでインストールしても問題ありません。
例: PyTorchのインストール
仮想環境内で以下を実行してPyTorchをインストールします。
(詳細は後のセクションで解説)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
ここまでで、AUTOMATIC1111を実行するための仮想環境の準備が整いました。
次のセクションでは、AUTOMATIC1111をインストールする手順について詳しく解説します。
AUTOMATIC1111のインストール手順: MacBookで動かすためのインストールガイド
このセクションでは、AUTOMATIC1111をApple Silicon MacBookにインストールし、正しく動作させるための手順を解説します。
リポジトリのセットアップから、必要なライブラリのインストール、WebUIの起動までを網羅しています。
リポジトリをクローンしてセットアップする方法
1. Gitを使用してAUTOMATIC1111のリポジトリを取得
まず、AUTOMATIC1111の公式リポジトリをクローンします。
ターミナルを開き、以下のコマンドを実行してください。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
これにより、stable-diffusion-webui
というフォルダが現在のディレクトリに作成されます。
2. ディレクトリに移動
次に、クローンしたリポジトリのディレクトリに移動します。
cd stable-diffusion-webui
これでリポジトリのセットアップは完了です。
必要なライブラリのインストールとエラー回避
次に、AUTOMATIC1111の実行に必要なライブラリをインストールします。
Apple Silicon MacBookの場合、PyTorchのMetal対応版を使用することで最適なパフォーマンスを引き出せます。
PyTorchのMetal対応版をインストール
PyTorchをMetal APIで動作させる方法
以下のコマンドを実行して、Metal対応版のPyTorchを仮想環境内にインストールしてください。
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
これにより、MacBookのGPUを活用して効率的にStable Diffusionを動作させる準備が整います。
launch.py 実行時のエラー解決方法
PyTorchのインストール後、launch.pyを実行する際にエラーが発生することがあります。
このような場合、以下の手順で解決できます。
1. ライブラリの依存関係を手動でインストール
以下のコマンドを実行して、必要な依存関係を再インストールします。
pip install -r requirements.txt
2. Metal APIが有効か確認
PyTorchがMetal APIを正しく利用できているか確認します。
python -c "import torch; print(torch.backends.mps.is_available())"
結果がTrue
であれば、Metal APIは正常に機能しています。
これでも解決しない場合、エラーメッセージを確認し、必要なライブラリを手動でインストールしてください。
WebUIの起動とアクセス確認
セットアップが完了したら、WebUIを起動して動作確認を行います。
1. launch.py を実行
以下のコマンドを実行してWebUIを起動します。
python launch.py --skip-torch-cuda-test
起動に成功すると、ターミナルにURL(例: http://127.0.0.1:7860
)が表示されます。
初回は必要なファイルのダウンロードなど行いますので起動にしばらく時間がかかります。
ただし、2回目以降はWebUIが起動すると、自動的にブラウザの新しいタブに素早くインターフェースが表示されます。
2. ブラウザでアクセス
ターミナルに表示されたURLをブラウザにコピーしてアクセスします。
Webインターフェースが表示されればセットアップ完了です。
以上で、AUTOMATIC1111をMacBookで動作させるインストール手順が完了しました。
学習モデルのインストール方法: ダウンロードと設定
このセクションでは、Stable Diffusionで使用する学習モデルをダウンロードし、正しいディレクトリに配置する方法を解説します。
Hugging FaceやCivitAIなどのプラットフォームからモデルを取得し、適切なディレクトリ構造で運用する手順を詳しく紹介します。
学習モデルの入手方法(Hugging FaceやCivitAI)
Stable Diffusionで使用する学習モデルは、Hugging FaceやCivitAIなどのリソースから簡単にダウンロードできます。
以下では、それぞれのダウンロード手順とおすすめのモデルについて解説します。
1. Hugging Faceからダウンロードする方法
Hugging Faceは、Stable Diffusionに対応した多くのモデルを提供するプラットフォームです。
手順:
- Hugging Faceの公式サイトにアクセス。
- 検索バーに「Stable Diffusion」または使用したいモデル名(例: “SD1.5”, “Anything V5”, “SDXL”など)を入力。
- ダウンロードページで「Download」ボタンをクリックし、モデルファイル(.ckptまたは.safetensors形式)を取得。
2. CivitAIからダウンロードする方法
CivitAIは、ユーザーが作成したモデルやLoRAを含む多様なリソースを提供しています。
手順:
- CivitAIの公式サイトにアクセス。
- 必要なモデルを検索し、モデルページを開く。
- 「Download」ボタンをクリックし、モデルファイル(.ckptまたは.safetensors形式)を取得。
おすすめモデル:
以下は、利用シーンに応じたおすすめモデルです。
- SD1.5: 安定した汎用性の高いモデル。
- Anything V5: アニメ・イラスト生成に特化。
- SDXL: 高精細な画像生成に対応した最新モデル。
学習モデルの配置先と正しいディレクトリ構造
ダウンロードした学習モデルは、適切なディレクトリ構造に配置する必要があります。
以下に、標準的なディレクトリ構造と配置手順を説明します。
1. モデルファイルの配置先
学習モデルは、自分のHOMEディレクトリ直下のstable-diffusion-webui/models/Stable-diffusion/
ディレクトリに配置してください。
手順:
stable-diffusion-webui/models/Stable-diffusion/
ディレクトリを開く。- ダウンロードしたモデルファイル(例: “model.ckpt” または “model.safetensors”)をこのディレクトリにコピー。
- 必要に応じて、モデル名をわかりやすい名前に変更(例: “anything-v5.safetensors”)。
このディレクトリ構造を正しく設定することで、WebUIからモデルを選択できるようになります。
LoRAファイルの配置(必要に応じて)
LoRA(Low-Rank Adaptation)ファイルは、学習モデルとは別のディレクトリに配置します。
LoRAファイルの配置先は以下のとおりです。
手順:
stable-diffusion-webui/models/Lora/
ディレクトリを開く。- ダウンロードしたLoRAファイル(例: “lora.safetensors”)をこのディレクトリにコピー。
- 必要に応じて、ファイル名をわかりやすい名前に変更。
LoRAファイルを正しく配置すると、WebUIの「LoRA」タブセクションで適用可能になります。
これで、学習モデルとLoRAのセットアップが完了しました。
WebUI:高速化のための設定: Apple Silicon MacBookでの処理を最適化する方法
AUTOMATIC1111をインストールして使い始めた際、処理が遅くてイライラした経験はありませんか?
筆者自身、その辺で拾ってきた起動設定で使用したところ、あまりの遅さに作業が進まず、調べながら高速化設定を試してみました。
このセクションでは、Apple Silicon MacBookの性能を最大限引き出すための高速化設定を紹介します。
FP16(半精度浮動小数点)の設定
FP16(半精度浮動小数点)とは
FP16は、計算精度を下げる代わりに処理速度を大幅に向上させる技術です。
Stable Diffusionでは、デフォルトでFP16を有効化することで画像生成時間を短縮できます。
AUTOMATIC1111 WebUIの速度改善
方法 1: FP16(半精度浮動小数点)の利用
FP16を有効化することで、モデルが消費するリソースを削減し、動作を高速化できます。
FP16の利用と設定方法
FP16(半精度浮動小数点)は、処理速度を向上させるために利用されます。ただし、Metal API環境(Apple Silicon)ではFP16のサポートが限定的なため、動作が不安定になる可能性があります。
FP16を利用する場合(推奨設定):
launch.py
実行時に以下のオプションで実行します:
python launch.py --skip-torch-cuda-test
方法 2: 設定ファイルで調整
stable-diffusion-webui
ディレクトリを開きます。- 設定ファイル
webui-user.sh
(Mac環境の場合)をテキストエディタで開きます。 - 以下の行を追加または編集します。
export COMMANDLINE_ARGS="--skip-torch-cuda-test"
編集後、保存して再起動することでFP16が有効になります。
もしも上記で不安定な場合
FP16を無効化して安定性を優先する場合:
この設定ではフル精度(FP32)を使用し、Metal APIの制限によるエラーを回避します。
python launch.py --precision full --no-half --skip-torch-cuda-test
精度指定の違いによる効果
設定 | 精度 | メリット | デメリット |
---|---|---|---|
無記述 | 自動(FP16優先) | 高速(FP16使用) | 不安定な場合がある |
--precision full | FP32 | 安定(すべてFP32) | メモリ使用量が増え、速度が低下する |
--no-half | FP32 | 安定(FP32でMetal API制限を回避) | FP16の高速化を利用できない |
Metal APIを利用したPyTorchの確認と設定
Metal APIとは
Metal APIは、Appleデバイスに最適化されたGPUアクセラレーション技術です。
これを利用することで、MacBookでのStable Diffusionの処理を高速化できます。
Metal APIの有効化と確認コマンド
確認手順:
- 以下のコマンドを実行して、Metal APIが有効になっているか確認します。
python -c "import torch; print(torch.backends.mps.is_available())"
結果がTrue
であれば、Metal APIが有効になっています。
PyTorchの再インストールが必要な場合の対処
もしMetal APIが有効でない場合、以下の手順でPyTorchを再インストールしてください。
- 仮想環境内で以下のコマンドを実行します。
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
再インストール後、再度mps.is_available()
を確認してください。
その他の高速化オプション
FP16やMetal API以外にも、いくつかの設定でさらに処理を最適化することが可能です。
サンプラー(DPM++ 2M Karrasなど)の選び方
サンプラーとは
画像生成プロセスを制御するアルゴリズムのことです。
Stable Diffusionでは、以下のサンプラーがおすすめです。
- DPM++ 2M Karras: 高速かつ高品質。
- Euler A: 汎用性が高く、軽量な設定。
WebUIの生成画面から、サンプラーを適宜切り替えてみてください。
ステップ数や解像度設定の最適化
処理時間を短縮するためには、以下の設定を調整することが重要です。
- ステップ数: 通常は20~30ステップで十分。
- 解像度: 高解像度(例: 1024×1024)は処理が遅くなるため、必要に応じて768×768や512×512に調整。
これらの設定を見直すことで、より快適にStable Diffusionを使用することができます。
トラブルシューティング: よくあるエラーとその解決方法
AUTOMATIC1111やStable Diffusionを使用する際に、特に初めてのセットアップではエラーに遭遇することが少なくありません。
このセクションでは、よくあるエラーとその解決方法について解説します。
Pythonや依存ライブラリのバージョン不一致問題
問題: セットアップ中に「Pythonのバージョンが古い」または「ライブラリがサポートされていない」といったエラーが発生する場合があります。
原因:
- Pythonのバージョンが3.9未満。
- 依存ライブラリのバージョンが指定と異なる。
- 古い環境が影響している。
解決方法:
- Pythonバージョンの確認: 以下のコマンドで現在のバージョンを確認します。
python --version
- バージョンが3.9未満の場合、conda仮想環境で3.9以上を指定して作り直します。
- 依存ライブラリを再インストール: 以下のコマンドを実行します。
pip install -r requirements.txt
これで依存関係が最新状態に更新され、エラーが解消するはずです。
モデルが読み込めない場合の確認ポイント
問題: 学習モデルを選択しても読み込めず、エラーが発生する場合。
原因:
- モデルファイルが対応していない形式(例: .safetensors や .ckpt 以外)。
- モデルの配置先ディレクトリが正しくない。
- モデルが壊れている。
解決方法:
- モデルファイルが
stable-diffusion-webui/models/Stable-diffusion/
に正しく配置されているか確認。 - WebUIのログを確認し、エラー内容を特定。
- モデルが壊れている場合、信頼できるサイト(例: Hugging Face や CivitAI)から再ダウンロード。
これらを確認することで、ほとんどのモデル読み込みエラーは解決できます。
Diffusion Beeから移行する際の注意点
問題: Diffusion Beeで使用していたモデルや設定が、そのままAUTOMATIC1111で使えない場合があります。
原因:
- Diffusion Beeは独自のフォーマットや設定を採用しているため。
- 学習モデルの互換性に違いがある。
解決方法:
- Diffusion Beeで使用していたモデルを確認し、AUTOMATIC1111用に再ダウンロード。
- LoRAやカスタムモデルを使用していた場合、それらも正しいディレクトリに配置(例:
models/Lora/
)。 - Diffusion Bee特有の設定は一部適用できないため、WebUIの標準設定に合わせて調整。
これらの注意点を押さえることで、Diffusion Beeからの移行もスムーズに進みます。
以上で、よくあるエラーとその解決方法を解説しました。
これらの対策を参考に、快適なStable Diffusion環境を構築してください。
まとめ: Apple Silicon MacBookでの快適なStable Diffusion環境を目指して
本記事では、Apple Silicon MacBookでStable Diffusionを効率的に動かすための環境構築と設定について詳しく解説しました。
環境構築が完了した今、次に取り組むべき活用アイデアや、長期的に運用するためのポイントを確認していきましょう。
環境構築後の活用アイデア
Stable Diffusionは、さまざまなクリエイティブ用途で活用できます。
ここでは、環境構築後に試してみるべきアイデアをいくつか紹介します。
1. LoRAの活用
LoRA(Low-Rank Adaptation)は、既存のモデルに特定のスタイルやコンセプトを学習させる方法です。
具体例:
- 特定のアニメスタイルや絵画のテイストを取り入れる。
- カスタムキャラクターデザインを生成する。
LoRAファイルを適切に配置することで、WebUIの「LoRAタブ」から簡単に切り替えて使用できます。
2. 独自学習モデルの活用
独自に作成したデータセットを用いて、カスタムモデルを学習させることも可能です。
- オリジナルキャラクターやブランドイメージの作成。
- 特定のニーズに特化した画像生成。
独自モデルを作成するには、DreamBoothやLoRAトレーニングツールを活用してください。
1. LoRAファイルの配置
ダウンロードしたLoRAファイル(拡張子が.safetensors
や.ckpt
)を指定のディレクトリに移動します。
配置先ディレクトリ
stable-diffusion-webui/models/Lora/
- ディレクトリがない場合: 手動で作成してください。
2. WebUIでのLoRAの使用
WebUIのインターフェースでLoRAを適用します。
LoRAの適用手順
- 画像生成画面を開く WebブラウザでWebUI(通常は
http://127.0.0.1:7860
)を開きます。 - LoRAを選択
- 画像生成画面の「Text2Img」または「Img2Img」タブを開きます。
- 「LoRA」のオプションが表示されているはずです(LoRA拡張が有効になっていない場合、インストールが必要です)。
- 一覧から適用したいLoRAを選択します。
- プロンプトにLoRAを指定 LoRAをプロンプトに明示的に適用する場合、以下のように記述します:
<lora:LoRAファイル名:重み>
LoRAの一覧から目的のものをクリックすると自動的にプロンプトに追加されます。
プロンプトから削除したい場合は稼働しているLoRAをクリックすれば自動で削除されます。
つまりON/OFFはトグルになっています。 - プロンプト例:
- 例:
a beautiful anime girl, <lora:my-lora-model:0.8>
重み
: LoRAの影響度を設定(例:0.5
は弱め、1.0
は通常、1.5
以上で強め)。
- 例:
今後のAUTOMATIC1111のアップデートに備えた運用のコツ
Stable DiffusionやAUTOMATIC1111は頻繁にアップデートされるため、最新機能を取り入れつつ安定した運用を心がけることが重要です。
運用のポイント:
- リポジトリの定期的な更新: 以下のコマンドで最新状態に保つ。
cd ~/stable-diffusion-webui
git pull
- 依存ライブラリの更新: ライブラリのバージョンを確認し、必要に応じて更新。
pip install -U -r requirements.txt
- バックアップの徹底: 学習モデルやLoRAファイルのバックアップを定期的に取得。
タイムマシンに保存されているのでそれを使うのも一つの方法ですが
個別にバックアップを取るのも良いと思います。
これらを実施することで、新機能を活用しつつ、安定した運用を継続できます。
安定した運用を実現するためのメンテナンス手順
Stable DiffusionやAUTOMATIC1111は頻繁にアップデートされるため、新機能を活用しつつ安定した運用を続けるには定期的なメンテナンスが重要です。以下では、HOMEディレクトリ直下にstable-diffusion-webui
があり、仮想環境としてcondaを使用している前提で、具体的な手順を解説します。
リポジトリの定期的な更新
stable-diffusion-webui
のリポジトリを最新状態に保つことで、新しい機能やバグ修正を反映できます。以下の手順を実施してください。
- 仮想環境をアクティベートします。
conda activate <仮想環境名>
- HOMEディレクトリ直下の
stable-diffusion-webui
ディレクトリに移動します。cd ~/stable-diffusion-webui
- 最新のリポジトリを取得します。
git pull
依存ライブラリの更新
ライブラリのバージョンが古いとエラーが発生することがあります。リポジトリ更新後は依存ライブラリを最新にすることをおすすめします。
- 仮想環境がアクティブになっていることを確認します。
- 以下のコマンドを実行して、
requirements.txt
ファイルに記載されたライブラリを更新します。pip install -U -r requirements.txt
バックアップの徹底
タイムマシンにバックアップを依存しても全然良いのですが、更に念を入れるなら独自のバックアップも良いと思います。
重要なデータの損失を防ぐために、以下の項目を定期的にバックアップする習慣をつけましょう。
バックアップ対象
- 学習モデルファイル:
models/Stable-diffusion
ディレクトリ内のモデルファイル - LoRAファイル:
models/Lora
ディレクトリ内のファイル - 設定ファイル:
config.json
やui-config.json
などの設定関連ファイル
バックアップ方法
バックアップを取得する際には、以下の手順を実行します。
- バックアップ用ディレクトリを作成します。
mkdir -p ~/backups/stable-diffusion-webui
- 必要なデータをコピーします。
cp -r ~/stable-diffusion-webui/models ~/backups/stable-diffusion-webui/
cp -r ~/stable-diffusion-webui/config.json ~/backups/stable-diffusion-webui/
- 圧縮して保存する場合は以下を使用します。
tar -czvf ~/backups/stable-diffusion-backup-$(date +%Y%m%d).tar.gz ~/stable-diffusion-webui
メンテナンス頻度の目安
- リポジトリの更新:週に1回またはアップデートの告知があったタイミング
- 依存ライブラリの確認と更新:リポジトリ更新後に必ず実施
- バックアップ:新しいモデルや設定を導入する前、または月に1回以上
これらのメンテナンスを定期的に実施することで、新機能を安心して活用しながら、トラブルを未然に防ぐことができます。
以上で、Apple Silicon MacBookを利用したStable Diffusion環境の構築と活用についての解説を終わります。
この記事が、快適な画像生成ライフの一助となれば幸いです。
Stable Diffusion WebUIのインストールに関するよくある質問
Python環境が正しく設定されていません。どうすればいいですか?
まず、Python 3.8以上がインストールされていることを確認してください。次に、仮想環境を正しく作成し、pip install --upgrade pip
を実行して最新バージョンのpipを導入してください。また、エラーが続く場合はシステム全体の依存関係を再確認することをおすすめします。
WebUIが正しく起動しません。対処法はありますか?
起動しない場合、依存関係が不足している可能性があります。pip install -r requirements.txt
を再度実行し、ターミナルに表示されるエラーメッセージを確認してください。特にApple Siliconの場合は、Metal API対応のPyTorchをインストールすることで解決する場合があります。
学習モデルの配置方法がわかりません。具体的にはどうすればいいですか?
学習モデルは、stable-diffusion-webui/models/Stable-diffusion
ディレクトリに配置してください。Hugging FaceやCivitAIからダウンロードしたファイルを解凍し、適切なフォルダに配置すれば認識されます。ファイル形式は.ckpt
または.safetensors
が一般的です。