AI画像を生成できる「Stable Diffusion」をIntel CPUのみで動かす方法

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20220905 145415

AIを利用して画像を生成できる「Stable Diffusion」と呼ばれるツールが人気です。

ただし、Stable Diffusionのオリジナル版は、新しめのNvidiaのGPUが必要で、自分の持っているPCでは実行できないという方も多いかもしれません。

幸いそのような場合は、Stable DiffusionをIntel CPUのみで実行できるように改造した「stable_diffusion.openvino」を使用することができます。

Intelが提供するOpenVINOと互換性を持つCPU上であれば、Linux、Windows、macOSの各環境上のPython 3.8以降で動かすことができます。

今回はユーザーが多いであろう、Windows環境でWSLを使い、stable_diffusion.openvinを実行する方法を説明します。

目次

pyenvの設定

WSLはUbuntuを想定しています。

Pythonはapt install pythonでインストールすることもできますが、今回はやり直しの手軽さを考えてpyenvを使ってインストールします(pyenv設定済みの方はスキップしてください)。

なお、検索するとpyenv+virtualenvを使っている場合が多いのですが、virtualenvをインストールしようとするとエラーが発生したので今回はpyenvのみとしました。

まず必要なパッケージをaptでインストールします。

sudo apt install build-essential
sudo apt install libssl-dev libffi-dev libncurses5-dev zlib1g zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev libgl1-mesa-dev make gcc

pyenvをclone設定します。

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

.bashrcに以下の行を追加します。

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

source ~/.bashrcするかターミナルを起動しなおします。pyenvが実行できれば成功です。

Pythonのインストール

pyenvを使ってPython 3.8.xをインストールします。

pyenv install 3.8.12
pyenv global 3.8.12

python --versionで「Python 3.8.12」と表示されれば成功です。

S 20220905 151345

stable_diffusion.openvinoを実行

stable_diffusion.openvinのリポジトリをcloneします。

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

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

cd stable_diffusion.openvino
pip install -r requirements.txt

いよいよstable_diffusion.openvinoを実行します。promptの後の文字列は自分で工夫する必要があります(その文字列にちなんだ画像が生成されます)。

python demo.py --prompt "origami"

成功するとディレクトリ内にoutput.pngが書き出されます。explorer.exe .してエクスプローラーを起動し確認します。

S 20220905 153151

stable_diffusion.openvinoの公式サイトには、以下のようなサンプルも掲載されています。パラメーターを調整することで新たな発見がありそうです。

Text-To-Imageのサンプル

python demo.py --prompt "Street-art painting of Emilia Clarke in style of Banksy, photorealism"

Image-To-Imageのサンプル

python demo.py --prompt "Photo of Emilia Clarke with a bright red hair" --init-image ./data/input.png --strength 0.5

まとめ

Stable DiffusionをIntel CPUのみで実行できるようにした「stable_diffusion.openvino」の使用方法を説明しました。NvidiaのGPUはないがIntel CPUはあるという方は試してみてはいかがでしょうか。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次