Stable Diffusionはオープンソースで広く使われています。
個人での使い方としては、以下の2点があるかと思います。
- クラウド環境で実行(Google Colab)
- ローカル環境で実行
この記事では「ローカル環境で実行」するための環境構築について紹介します。
その中でもMacBook Pro(M1)で構築する際の注意点などを説明します。
事前準備
マシン
Stable Diffusionは大量のGPUメモリを使用しますので、GPUマシンである必要があります。
最近のMacBookだと、M1チップ搭載モデルはGPUを使えます。
M1チップはApple独自のGPUですので、一般的なGPU設定では動かないことが多いです。
Stable Diffusionに限らずMacでAIモデルを作成していると、Gitにあるコードを書き換えないと動かないことが多いですよね。。
そんなMac使いAIエンジニアの方たちのための記事になれば幸いです!
ちなみに私の環境は、MacBook Pro、Apple M1 Max、32GBです。
インストール
以下をインストールします。
pythonライブラリは使うときに自動でダウンロードしにいく作りになっていますが、
手動でpip installコマンドやconda installコマンドなど使う場面があるかもしれません。
仮想環境やバージョンに注意して、適宜インストールしてください。
- Python
- Git
構築手順
Stable Diffusion Web UIの入手
GitにあるStable Diffusion Web UIを入手します。
適当なディレクトリに移動し、以下のコマンドを実行する。
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
成功しますと「stable-diffusion-webui」というディレクトリが生成されています。
モデルのダウンロード
画像生成で使いたいモデルをダウンロードします。
ただ、Web UIの起動時にモデルがない場合は以下を自動でダウンロードしてきます。
SD v15(v1-5-pruned-emaonly.safetensors)
ですので、最初はデフォルトのモデルで画像生成を楽しむとよいです。
後々欲しいモデルが出てきたらダウンロードするとよいです。
おすすめのモデルは以下で紹介しています。
モデルはstable-diffusion-webui/models/Stable-diffusion/に格納します。
Stable Diffusion Web UIの開始
stable-diffusion-webui/に移動し、以下のコマンドを実行する。
自動で必要なものをダウンロードしてくれます。初回実行時は時間がかかります。
ここでの注意としては、結果を16ビットにしないオプション(–no-half)をつけることです。
Macによっては32ビットじゃなきゃ計算しない!というものがあるため、–no-halfにしないと使えない機能があります。Hypernetworksとかファインチューニングする際が要注意です。
$ ./webui.sh --no-half
最終的にWeb UIのURL(http://127.0.0.1:7860)が標準出力されると成功です!
ブラウザで起動し、じょいふるな画像生成ライフをお楽しみください!!
トラブルシューティング
起動しない
Web UIが起動しない原因はいろいろ考えられますが、代表的なものは以下でしょうか。
- GPUメモリが足りない
- 必要なライブラリをインストールできない
GPUメモリが足りない場合、起動時にオプションをつけると良いです。
–xformersは少ないメモリでも動くようになりますが、Macだと使えないこともあるため要注意です!
必要なライブラリをインストールできないのは、プロキシがうまく働いていないかもしれません。
VPNをかましてネット接続している場合、弾く設定にしているかもしれません。
–shareオプションをつけることで起動できるかもしれません。
起動しても操作できない
Web UIが起動して、さあ画像生成しようとすると以下のエラーが画面上に表示されることがあります。
Expecting value: line 1 column 1 (clear 0)
どのボタンを押しても右上にこれが出ます。
原因はVPN、プロキシが影響している可能性があります。
以下コマンドを実行しプロキシを削除したりしてみてください。
export http_proxy=
export https_proxy=
それでもダメな場合、–no-gradio-queueオプションをつけてWeb UIを起動してみてください。
おわりに
Stable Diffusion Web UIで発生するエラーの対処法は、やはり開発者が一番詳しいと思います。
Gitで公開してくれてますので、Readmeを見て自分の環境との差異は何かを確認するとよいです。
https://github.com/AUTOMATIC1111/stable-diffusion-webui
どうしても無理だ!もうローカルで構築するのを諦めよう!もっと手軽に試したい!
という方は以下をお試しください。
■ブラウザで手軽に画像生成
■アプリで手軽に画像生成
コメント