【画像生成AI】Stable Diffusion を「Intel CPU」 の「MacBook」で動かす方法

【画像生成AI】Stable Diffusion を「Intel CPU」 の「MacBook」で動かす方法

AIで画像を生成できる「Stable Diffusion」というツールが人気です。
今回は、Intel CPU のPC でも Stable Diffusion を使えるよう、ローカル環境を構築し、Stable Diffusion を無料で使う方法を解説します。

Stable Diffusion の利用方法

現在、Stable Diffusion は以下の2つの方法で利用することが可能です。

  1. DreamStudio(Stable Diffusionのβ版として公開されたWEBサービス)で利用
    → あらかじめもらえるクレジット上限を越えたら利用料金がかかる
  2. ローカル環境を構築して利用
    → 無料で利用できるがマシンスペックや環境構築が必要

以下では「2. ローカル環境を構築して利用」で進めたいと思います。

この Macbook について

今回 Stable Diffusion のローカル環境を構築する Macbook のスペックは以下のようになっています。

機種MacBook Pro (16インチ, 2019)
プロセッサ2.3 GHz 8コアIntel Core i9
メモリ64 GB 2667 MHz DDR4
グラフィックスAMD Radeon Pro 5500M 4 GB
Intel UHD Graphics 630 1536 MB
MacBook Pro (16インチ, 2019)のスペック

それでは早速 Stable Diffusion のローカル環境を構築していきましょう😃

Stable Diffusion をローカル環境で動かす流れ

下記の手順にて Stable Diffusion を Macbook の ローカル環境で動かせます。

  1. python をインストール
  2. stable_diffusion.openvino を clone
  3. stable_diffusion.openvino を実行

1. python をインストール

まずは python をインストールしましょう😃
python のインストールがまだの方は下記を参考にインストールしてみてください。
ここでは pyenv を使って特定バージョンの python をインストールします。

【python】pyenv を使って python をインストールする方法【AI】

【python】pyenv を使って python をインストールする方法【AI】

pyenv を使って python をインストールする方法を解説します。python は AI領域でよく使われている言語ですね。python のインストールに pyenv を使うと python のバージョンを簡単に切り替えられます。ぜひお試しください😃

2. stable_diffusion.openvino を clone

ありがたいことに Intel CPU に対応した Stable Diffusion を作ってくださった方がいます。
ありがたく使わせていただきましょう😃

まずは普通に clone してきます。

$ git clone https://github.com/bes-dev/stable_diffusion.openvino

3. stable_diffusion.openvino を実行

clone してきたら Stable Diffusion を早速実行、といきたいところですが、Stable Diffusion 実行するためには事前に必要なライブラリを入れなければなりません。

pipコマンドで必要なライブラリをインストール

Stable Diffusion の実行に必要なライブラリは clone してきたファイルの requirements.txt に書かれています。

下記コマンドでライブラリをインストールします。

$ pip install -r requirements.txt

# ↓こんな感じでインストールが進みます
Collecting numpy==1.19.5
  Downloading numpy-1.19.5-cp38-cp38-macosx_10_9_x86_64.whl (15.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.6/15.6 MB 5.6 MB/s eta 0:00:00
Collecting opencv-python==4.5.5.64
  Downloading opencv_python-4.5.5.64-cp36-abi3-macosx_10_15_x86_64.whl (46.3 MB)
・・・・・

stable_diffusion.openvinoを 実行

さて、いよいよ Stable Diffusion を実行してみます。

下記コマンド打つと Stable Diffusion が実行されます😃
成功すると現在のディレクトリに output.png という名前で画像が生成されます。

※ ちなみに僕の環境では終了までに20分弱かかりました。気長に待ちましょう。

$ python demo.py --prompt "doraemon"
# --prompt オプションに任意の命令を入力します。例)old man

# ↓こんな感じで処理が進みます
Downloading: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████| 905/905 [00:00<00:00, 364kB/s]
Downloading: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 939k/939k [00:12<00:00, 76.7kB/s]
Downloading: 100%|
・・・・

まとめ

今回は話題の Stable Diffusion を動かしてみました。
実行に20分とそれなりに時間はかかりますが、無料で気軽に使いたいという方はぜひ試してみてください😃