見出し画像

Mac Pro Mid 2012(Intel Mac)にStableDiffusionのWebUIを導入した話

はじめに


StableDiffusionをターミナルでちまちまと動作させてきてました。
使用方法を調べてると、どうもWebUIなるものがあって、もうちと簡単に動作させられる環境があって、IntelMacでCPUモードにも対応しているぽい、という事が(ようやく)わかりまして、それじゃあ導入してみようかなという話です。

すでにStableDiffusionは導入済みなので、イチからやるには必要な事項がすっ飛ばされているかもしれない点にご留意を。

インストールしたWebUIは次の2種類で、とりあえずインストールから簡単なところの使い勝手を比較してみました。

  • AUTOMATIC1111

  • EasyDeffusion

まずは、それぞれのインストール手順を簡単に説明します。

そのまえに、おさらいでウチの端末環境です。

古ーいMacくんです。あれやこれやと取り替えて頑張ってもらってます。
システムはPCIeに接続したM.2 MVNe SSDカードにインストールしていますので、非常に高速です。


AUTOMATIC1111

インストールに必要なツールはHomebrewです。あらかじめインストールしておいてください。

ターミナルを開き、任意のディレクトリに移動したあと、以下のコマンドを実行していきます。


% brew install cmake protobuf rust python@3.10 git wget
% git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
% cd stable-diffusion-webui

さて、ここでWebUIをCPUモードで動かす設定をします。
webui-user.shを開き、以下のように設定します。k

- #export COMMANDLINE_ARGS=""
+ export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all"

保存して、WebUIを起動します。

% ./webui.sh

しばらく待つと、ターミナルに "Running on local URL: "と表示されますので、続くアドレスをSafariなどで開きます。

これがAUTOMATIC1111のWebUI画面になります。


EasyDiffusion

EasyDiffusionは最近発表されたWebUIのようです。
インストール手順は以下のようになります。

以下のサイトから、MacOS用Zipをダウンロードしてきます。

ダウンロードした Easy-Diffusion-Mac.zip を解凍して、任意のディレクトリに移動させます。

以下のコマンドを打ちます。

% cd easy-deffusion
% ./start.sh

これで、EasyDiffusionのWebUIがブラウザで自動起動します。


デフォルトだとGPUモードになっているので、CPUモードに切り替えます。上部のメニュータブから「Setting」を選び、「Use CPU(not GPU)」をオンにします。下部の「Save」ボタンを押します。これで保存されました。


それぞれを軽く使ってみて

CPUの使用率について

GPUを使わずCPUモードで使用するので、どれくらいCPUリソースを取るのか見てみようと、それぞれできるだけ同じ設定でtxt2imgで画像生成をさせてみました。

  • AUTOMATIC1111:CPUリソースは100%前後をフラフラとする感じ。

  • EasyDiffusion:CPUリソースを見ていて、最大600%ぐらいまで使っているのは確認した。

CPUリソース使用率の計算が今ひとつわかっていないのですが、1コア単位でパーセンテージを出しているのだとすると、ウチのMacProは6コア✕2=12コアなので、1200%まで行く計算になるのでしょうか?
まぁ、細かい計算は置いといて、EasyDiffusionの方がCPUリソースを最大限に引き出しているなという感じです。画像の作成時間にもそれは現れそうですが、放置プレーで(1処理数時間かかるので)みているので、時間計測は出来ていません。どうやって時間計測しようかな。ちなみに、本記事のサムネイル画像を作成するのにEasyDiffusionで5時間ぐらいでした。

設定のやりやすさについて

WebUIを初めて使ってみたのですが、とっつきやすさはEasyDiffusionでしょうか。

EasyDiffusionはパラメータ設定がメイン画面に集約されていて、設定しやすいです。txt2imgで生成されたイメージからimg2imgへと持っていくのも楽でした。画像生成のメタデータも、画像と一緒にtxt形式などで出力してくれるので、後で参照するときに楽そうです。

AUTOMATIC1111は設定項目が非常に多くて、使いこなせば強力なのだと思います。Extensionも数多く出ているようです。ただ、設定の一部はそこに至るまでが大変そうです。でもAUTOMATIC1111はユーザ数も解説ページも多いようなので、設定に関する資料は探せば色々出てくるのでしょう。使いこなせれば、非常に強力なツールだと思います。

(おまけ) 電気代が心配

まぁ、これだけの環境で処理をガンガン回しているので、電気代が怖いです。昨今電気代の値上げラッシュもあるので、夜間だけ回そうかなぁとかちょっと対策を考えないと・・・。

まとめ

どちらかといえば EasyDiffusion の方がとっつきやすいのと、CPUリソースを有効活用してくれるようなので、 まずはEasyDiffusionでしばらく弄っていこうかなと思います。お勉強も兼ねて。

<おわり>

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