IT

【最新版】画像生成AI「StableDuffusion-WebUI2.1」のMacの導入方法【入門】

きたたく

公式のインストール方法を参照します。

HomeBrewのインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストール後にターミナルに表示されるNEXT STEP の内容をコピーして貼り付けて実行します。

以下のコマンドはユーザーのシェル環境にHomebrewの設定を追加し(.zprofileに記述)、また現在のシェルセッションに即座にその設定を適用するために使用されます。以下のコマンドのユーザ名はご自身のユーザ名です。

 (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/ユーザ名/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
brew --version

Homebrewを使用して、複数のプログラムやツールをインストールするためのものです。既にインストール済みのプログラムはインストール不要です。

brew install cmake protobuf rust python@3.10 git wget
  1. brew install: Homebrewによるインストールコマンドです。このコマンドに続く名前は、インストールしたいパッケージやソフトウェアを指定します。
  2. cmake: CMakeは、クロスプラットフォームのソフトウェアビルドシステムです。C、C++、または他の言語で書かれたソースコードからソフトウェアをビルドするために使われます。
  3. protobuf: Protocol Buffers(protobuf)は、Googleによって開発された、構造化データのシリアライゼーション(データ形式の変換)のためのシステムです。設定ファイルや通信プロトコルなどで利用されます。
  4. rust: Rustは、パフォーマンス、安全性、並行性を重視したプログラミング言語です。システムプログラミングやアプリケーション開発に広く使われています。
  5. python@3.10: 特定のバージョン(ここでは3.10)のPythonプログラミング言語をインストールします。バージョンはプロジェクト推奨のバージョンを使う方が確実です、今回だと3.10です。
  6. git: Gitは、ソースコード管理(バージョン管理)のための分散型バージョン管理システムです。プログラミングプロジェクトにおける変更履歴の追跡に使われます。
  7. wget: Wgetは、HTTP、HTTPS、FTPを通じてファイルをダウンロードするためのコマンドラインツールです。ウェブサイトのコンテンツを自動でダウンロードする際に便利です。

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

モデルのダウンロード

使用するモデルはサイトHugging Faceからダウンロードします。

「Files and versions」を選び、「v2-1_768-ema-pruned.safetensors」をダウンロードします。

ckptとsafetensorsの差

ファイル形式にckptとsafetensorsがあった際には、安全なsafetensorsをダウンロードします。以下はckptとsafetensorsの比較表です。「Safe」の項目が×の意味は、無作為にダウンロードしたファイルを使用した場合に、悪意のある任意のコードが実行される可能性があることを意味します。そのためsafetensorsの方が安全です。

FormatSafeZero-copyLazy loadingNo file size limitLayout controlFlexibilityBfloat16/Fp8
pickle (PyTorch)XXXOXOO
SafeTensorsX
出所:https://github.com/huggingface/safetensors

ダウンロードしたモデルは、先ほどダウンロード済みのstable-diffusion-webui配下のmodels/Stable-diffusionに配置します。

以下はダウンロードフォルダに入っている「v2-1_768-ema-pruned.safetensors」を「stable-diffusion-webui/models/Stable-diffusion/」に移動させるコマンド例です。

 mv Downloads/v2-1_768-ema-pruned.safetensors stable-diffusion-webui/models/Stable-diffusion/

stable-diffusion-webuiディレクトリに移動します。以下のcd コマンドで移動します。ご自身のstable-diffusion-webuiディレクトリの場所によって指定する場所が異なります。

cd stable-diffusion-webui/

以下のコマンドでStable-diffusionwebuiを起動します。
Python仮想環境が作成され、不足している依存関係が自動的にインストールされます。そのため初回は時間がかかります。

 ./webui.sh

ブラウザが起動し、以下のような画面がでたら成功です。

エラーが出る場合

私の環境M2proで実行すると以下のエラーがでました。

NansException: A tensor with all NaNs was produced in Unet. This could be either because there's not enough precision to represent the picture, or because your video card does not support half type. Try setting the "Upcast cross attention layer to float32" option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.

指示通りに、「Upcast cross attention layer to float32」をオンにしてみましょう。
Try setting the “Upcast cross attention layer to float32” option in Settings > Stable Diffusion

以下の画像の通り、メニューの「Settings」タブを選び、検索窓に「Upcast」と入力し、表示された「Upcast cross attention layer to float32」にチェックを入れ、オレンジ色のボタンの「Apply settings」をクリックして設定を適用します。

テキストを入力し、「Generate」をクリックすると画像が生成されました!

更新する場合

stable-diffusion-webuiを更新する場合は、./webui.shを実行する前にgit pullを実行します。

ABOUT ME
きたたく
きたたく
学習工学博士
自由に生きる人を増やしたい大学教員・経営者。
生成AIで経済的自由を達成するための知識を発信中。
元不登校から飛び級で博士号(工学)を取得した連続起業家。
プログラミングを通じて「U-22 プログラミングコンテスト CSAJ 会長賞」「IoT Challenge Award 総務大臣賞」「人工知能学会研究会 優秀賞」など40件を超える賞を受賞。
スマホアプリ会社を創業(売却)し、プログラミングスクールの会社を創業(20店舗経営)

著書:知識ゼロからのプログラミング学習術(秀和システム) 他多数
記事URLをコピーしました