画像生成AI「Stable Diffusion」をVRAM 6GBしかないノートPCで実行しました【WSL2】

公開日:2022年10月11日
最終更新日:2022年12月15日

はじめに

以前、画像生成AI「Stable Diffusion」をWSL2で使う記事を書きました。
touch-sp.hatenablog.com
その時はRTX 3080(VRAM 12GB)を使用しました。

今回、RTX 3060 Laptop(VRAM 6GB)のノートPCで動かすことができたので記事を書きます。

「Optimized Stable Diffusion」というものを使わせて頂きました。
github.com
少ないVRAMでも動作するように改良されたものです。

PC環境

使用したPCはこちらです。

メモリは16GBです。おそらくWSL2には50%の8GBがあてられていると思います。

その状態では動作しなかったので12GBに変更しました。

「.wslconfig」というファイルを作成して「C:\Users\ (user name) \」に配置しました。
「.wslconfig」に以下のように書き込めばメモリは12GBになります。

[wsl2]
memory=12GB

(WSL2の再起動が必要なので気を付けて下さい。)

WSL2環境

Ubuntu 20.04 on WSL2
Python 3.8.10
CUDA 11.3.1

環境構築

簡単にするために「requirements4OptimizedSD.txt」というファイルを作りました。自分のGitHubに公開しているのでだれでも利用可能です。

それを使うと2行で環境構築が終わります。

pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -r https://raw.githubusercontent.com/dai-ichiro/env4stable-diffusion/main/optimized/requirements4OptimizedSD.txt

CUDA 11.3.1がインストール済みなのが前提です。CUDA 11.3.1のインストールは以前の記事を参照して下さい。

実行方法

リポジトリのクローン

リポジトリをクローンして学習済みパラメーターを保存するフォルダを作成します。

git clone https://github.com/basujindal/stable-diffusion
cd stable-diffusion
mkdir -p models/ldm/stable-diffusion-v1/

学習済みパラメーター「sd-v1-4.ckpt」のダウンロード

以下から学習済みパラメーター「sd-v1-4.ckpt」をダウンロードする必要があります。その際にはHugging Faceのアカウントが必要です。

huggingface.co
アカウントは無料で名前とメールアドレスのみで簡単に作成できます。



「sd-v1-4.ckpt」の移動

ダウンロードした「sd-v1-4.ckpt」を「model.ckpt」に改名して先ほど作った「models/ldm/stable-diffusion-v1/」フォルダに移動させます。

いよいよ実行

python optimizedSD/optimized_txt2img.py --prompt "a photograph of an astronaut riding a horse"

動作確認できたその他の環境

Windows 11 + CUDA 11.6.2

1

Windows 11
CUDA 11.6.2
Python 3.9.13
torch==1.12.1+cu116
torchvision==0.13.1+cu116
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -r https://raw.githubusercontent.com/dai-ichiro/env4stable-diffusion/main/optimized/requirements_win.txt

Ubuntu 20.04 + CUDA 11.3.1

1

Ubuntu 20.04 on WSL2
CUDA 11.3.1
Python 3.8.10
torch==1.12.1+cu113
torchvision==0.13.1+cu113
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -r https://raw.githubusercontent.com/dai-ichiro/env4stable-diffusion/main/optimized/requirements4OptimizedSD.txt

2

Ubuntu 20.04 on WSL2
CUDA 11.3.1
Python 3.9.5
torch==1.11.0+cu113
torchvision==0.12.0+cu113
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -r https://raw.githubusercontent.com/dai-ichiro/env4stable-diffusion/main/optimized/requirements4OptimizedSD.txt

Ubuntu 20.04 + CUDA 11.6.2

3

Ubuntu 20.04 on WSL2
CUDA 11.6.2
Python 3.8.10
torch==1.12.1+cu116
torchvision==0.13.1+cu116
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -r https://raw.githubusercontent.com/dai-ichiro/env4stable-diffusion/main/optimized/requirements4OptimizedSD.txt

4

Ubuntu 20.04 on WSL2
CUDA 11.6.2
Python 3.9.5
torch==1.12.1+cu116
torchvision==0.13.1+cu116
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -r https://raw.githubusercontent.com/dai-ichiro/env4stable-diffusion/main/optimized/requirements4OptimizedSD.txt