本記事では、Web UIやEasyDiffusionなどを使わずに素のStable Diffusionをインストールします。
許されるならば初心者の方は上記のツールなどを使用することをオススメします。
ちょっと難易度高めです。
ざっくり手順
- NVIDIAドライバーのインストール
- Anacondaのインストール
- Stable Diffusionに必要なPythonモジュールのインストール(PyTorch等)
- CUDAのインストール
- CUDAの有効化
- PyTorchとCUDAの動作状況確認
- Modelファイル(.ckpt)のダウンロードと配置
- Stable Diffusionの起動
詳細手順
NVIDIAドライバーのインストール
※既にNVIDIAのドライバーが入ってる人はこの手順は特に必要ありません。
まず、GPUのバージョン確認です。タスクマネージャーを開きます。
GPUのバージョンが確認できたらドライバーを取りに行きます。
ダウンロード元:
https://www.nvidia.com/Download/index.aspx
Download TypeはGame Ready Driver(GRD)とStudio Driver(SD)と2種類ありますが、
どちらでもよいです。本記事はStudio Driverで行きます。
ダウンロード
ダウンロードの同意
インストーラーを起動
はい
OK
しばし待つ
まだ待つ
NVIDIAグラフィックスドライバーを選択
同意して続行する
次へ
しばし待つ
閉じる
コントロールパネルを確認すると以下のものがインストールされています。
これでNVIDAのグラフィックボードのドライバーのインストールは終了です。
Anacondaのインストール
Anacondaをインストールします。
インストーラーダウンロード元:
https://www.anaconda.com/products/distribution
Download
インストーラーの起動
Next
I Agree
All Users(requires admin privileges)
はい
Next >
Install
Clear the package cache upon completion(完了時にパッケージキャッシュをクリアします)にチェックをつけても良い。
しばし待つ
Next >
Next >
Finish
Stable Diffusionに必要なPythonモジュールのインストール(PyTorch等)
GitHubからStable Diffusion一式を取ってくる
https://github.com/Stability-AI/stablediffusion
任意の場所に解凍します。
本記事では以下の場所に置いてます。
以降(StableDiffusionフォルダ)とした場合、以下です。
C:\stablediffusion-main\stablediffusion-main
Stable Diffusionフォルダに移動
cd (StableDiffusionフォルダ)
environment.yamlファイルの実行
conda env create -f environment.yaml
結構待ちます(環境によっては10分とか?)。
見えてる範囲が全部100%になってもかなり待たされます。
完了しました。
バージョンの確認
pip list
CUDAのインストール
CUDAをインストールします。
ダウンロード元:
https://developer.nvidia.com/cuda-11-8-0-download-archive
お使いの環境に合わせて選択します。
ダウンロード
インストーラーを実行
はい
OK
しばし待つ
スプラッシュ画面、しばし待つ
同意して続行する
次へ
しばし待つ
しばし待つ
閉じる
コントロールパネルを確認すると以下のものがインストールされています。
必要最小限かと言われたらたぶん違うと答えます。
CUDAの有効化
以下の場所でCUDAを有効にするコマンドを取得します。
https://pytorch.org/get-started/locally/
お使いの環境に合わせて以下を選択し、Run this Commandをコピーします。
- PyTorch Build
- Your OS
- Package
- Language
- Compute Platform
Anaconda Promptを管理者権限で実行します。
はい
さきほどコピーしたコマンドを実行。
以下は僕の環境のもののため、ご自身の環境に合わせたものを実行してください。
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
y
しばし待つ(かなり長い、10分くらい?)
有効化が完了しました。
PyTorchとCUDAの動作状況確認
GPUがPyTorchとCUDAによってうまく使用されているかを確認します。
任意の場所に以下の内容を記載したファイルを配置します。
本記事は以下の場所に配置します。
C:\stablediffusion-main\gputest.py
記述内容(丸パクリです。オリジナルの記事も是非ご訪問ください。)
import torch
print(torch.__version__)
print(f"cuda, {torch.cuda.is_available()}")
print(f"compute_{''.join(map(str,(torch.cuda.get_device_capability())))}")
device_num:int = torch.cuda.device_count()
print(f"find gpu devices, {device_num}")
for idx in range(device_num):
print(f"cuda:{idx}, {torch.cuda.get_device_name(idx)}")
print("end")
参考:Qiita([PyTorch] GPUの動作確認セット)
Anaconda Promptで実行します。
cd C:\stablediffusion-main
python gputest.py
うまく行ってなければ以下
うまく行かない場合はPyTorchとCUDAのバージョンがずれている可能性が高そうです。
それぞれのバージョンを確認してCUDA有効化のコマンドを再度実行しましょう。
それでもダメなら、Anaconda再インストールが近道です。
CUDAのバージョン確認
nvcc -V
PyTorchのバージョン確認
pip list
または
python
>>> import torch
>>> torch.__version__
'1.12.1'
Modelファイル(.ckpt)のダウンロードと配置
Stable Diffusionにはモデルファイルが必要です。
以下の場所から取得します。
ダウンロード元:
https://huggingface.co/stabilityai/stable-diffusion-2-1-base
直接ダウンロード(ダウンロードが始まります):
https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.ckpt
以下の場所に、ダウンロードしたv2-1_512-ema-pruned.ckptを配置します。
(StableDiffusionフォルダ)\checkpoints
Stable Diffusionの起動
Anaconda Promptを管理者権限で実行します。
はい
(StableDiffusionフォルダ)へ移動
cd (StableDiffusionフォルダ)
ldmのアクティベート
conda activate ldm
python scripts/txt2img.py --prompt "a cute himalayan cat" --ckpt checkpoints/v2-1_512-ema-pruned.ckpt --config configs/stable-diffusion/v2-inference.yaml --H 512 --W 512 --n_iter 10 --n_samples 1 --device cuda
以下の場所に画像ファイルを生成してくれます。
(StableDiffusionフォルダ)\outputs\txt2img-samples\samples
まとめ
道のりは長いです。
余談ですが、以下の文言が出てるのでxformersをpipでインストールしたら、PyTorch2.0を消されてしまい環境が死にました。
Anacondaから入れなおして復旧しましたがまた後日xformerのインストールについても見ていこうかと思います。なんかメモリの使用量が減るらしいので。
No module 'xformers'. Proceeding without it.'
おわり
コメントを残す