見出し画像

Stable Diffusion 拡張機能に不具合!?

こんにちは。あるいは、こんばんは?
先日、Windowsを再セットアップして、ようやくディレクトリなど調整し終わり、どうやってStable Diffusionをセットアップするか悩んでいます。
その要因の一つに、最新版ではExtensions(拡張機能)に不具合が起こることが分かっていて、過去のバージョンにしたほうが良いのではないかと思っているからです。
何事もやってみて考えるスタンスで、先達の皆様の紹介記事による方法を使用せず、vladmandic 様の automatic (forked from AUTOMATIC1111/stable-diffusion-webui)をセットアップしてみたいと思います!

Python3.10.6をインストールするよ!

以前にもご紹介しました記事を参考に、下準備を進めましょう。

本記事ではサクッと材料(リンク)を紹介しておきます!
(Macではうまくいかなかったので、Windowsで環境構築です)

インストールの過程で「Add Python to PATH」にチェックを入れておいてくださいね!!

gitをインストールするよ!

Download for Windowsの「Click here to download the latest」をインストールしておけば大丈夫と思います。
(このタイミングでPCを再起動したほうが良いかもしれません)

CUDA toolkitをインストールするよ!(あなたのPCがNVIDIA GPUを装備しているのなら・・・)

ここから少しややこしい覚えがあります。
バージョンを合わせないと、うまく機能しないようです。
まずはGPUの型番を確認します。

nvidia-smi --query-gpu=name --format=csv
>
name
NVIDIA GeForce RTX 3060 Laptop GPU

つづいてNVIDIA ドライバーのバージョンを確認します。

nvidia-smi
>
Wed May 10 18:46:44 2023       
+---------------------------------------------------------------------------------------+      
| NVIDIA-SMI 531.68                 Driver Version: 531.68       CUDA Version: 12.1     |      
|-----------------------------------------+----------------------+----------------------+      
| GPU  Name                      TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |      
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |      
|                                         |                      |               MIG M. |      
|=========================================+======================+======================|      
|   0  NVIDIA GeForce RTX 3060 L...  WDDM | 00000000:01:00.0 Off |                  N/A |      
| N/A   41C    P0               22W /  N/A|      0MiB /  6144MiB |      0%      Default |      
|                                         |                      |                  N/A |      
+-----------------------------------------+----------------------+----------------------+      

+---------------------------------------------------------------------------------------+      
| Processes:                                                                            |      
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |      
|        ID   ID                                                             Usage      |      
|=======================================================================================|      
|  No running processes found                                                           |      
+---------------------------------------------------------------------------------------+      

さっぱりワカリマセンが、「Driver Version: 531.68」です!

そしてCUDA Toolkit のバージョンを確認します。

nvcc -V
>
nvcc : 用語 'nvcc' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの
名前として認識されません。・・・(省略)・・・

エラーメッセージが出ました。おそらく、インストールされていないからでしょう。

最後にcuDNN のバージョンを確認します。

where cudnn64_*.dll
>

無回答。導入していないからと思われます。

GPU版PyTorch 2.0系に対応するCUDA

ここからややこしいのですが、GPUに対応したPyTorch 2.0を導入するために、環境構築が必要になるようです。
公式サイトから対応状況を確認します。

PyTorch2.0.1, Windows, Pip, Python, CUDA11.8を選択するとコマンドが表示されます!

PyTorch導入の前にCUDAをインストールします。
今回はCUDA11.8を試してみますよ!

Visual Studioをインストールしておきましょう!

Visual Studio 2022にはいくつかバージョンがあるようです。
Enterprise」というものを試してみました。

  • 「C++によるデスクトップ開発」にチェック

  • 右の「インストールの詳細」 > オプション  > 「MSVC v143 - VS 2022 C++ x64/x86ビルドツール(最新)」にチェック

  • 他のチェックは全て外す

  • 「インストール」> 「再起動」

CUDA Toolkitをインストールするよ!

アーカイブから対応するインストーラーを探してダウンロードします。

Windows, x86_64, 11, exe (local)を選択 > Download

「カスタム(詳細)」を選択して、「CUDA」と「Driver Components」をインストールしていきます。

「カスタム(詳細)」を選択
「CUDA」「Driver Components」にチェック

環境変数の確認

設定 > システム > バージョン情報 > システムの詳細設定
を押すと「システムプロパティ」が開きます。
「環境変数」を押します!
システム環境変数の「CUDA_PATH」「CUDA_PATH_V11_8」が設定されていることを確認しましょう。

nvcc -V
>
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0


NVIDIA cuDNNをダウンロードするよ!

必要性かどうかは ワカンネェ ですが、対応するcuDNNを導入しておきます。NVIDIAが提供するディープニューラルネットワーク用のライブラリのことで、ディープラーニング向けのアルゴリズムを高速化してくれるものだそうです。

ダウンロードするにはアカウントを作成(無料)して、ログインする必要があります。

ダウンロードしたファイル「cudnn-windows-x86_64-8.9.1.23_cuda11-archive.zip」を展開します。

これらのファイルを、先ほどCUDA Toolkitをインストールした際に作成されたフォルダ「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8」の中にコピー(または移動)します。


環境変数の登録と確認

設定 > システム > バージョン情報 > システムの詳細設定 > 環境変数
システム環境変数:
新規 > 変数名「CUDNN_PATH」変数値、「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8」 > OK
「Path」を選択 > 編集 > 新規 > 「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin」を入力 > OK(すでに作成済みでした)

Pathが通っているのか確認をします。
コマンドプロンプトを右クリックして「管理者として実行」しましょう。

where nvcc
>
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.exe
where cudnn64_*.dll
>
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\cudnn64_8.dll

大丈夫そうです!
(パスを間違えていたりなど、単純ミスをしてかれこれ2時間くらいかかってしまいました)


PyTorch2.0のインストール

「Run this command」に記載されているコマンドを入力しましょう!
まずインストール済みパッケージを確認して、pipとsetuptoolsの更新をしておきますよ。

pip list
python -m pip install --upgrade pip setuptools

PyTorch2.0.1 をインストールしましょう!

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118


PyTorch2.0の動作確認します!

Pythonを立ち上げて以下のコードを実行します。
Visual Studio Codeでは、テキストファイルを作成するか開いて、実行したい部分を選択してから「Shift + Enter」で実行できるようです。

import torch
print(torch.__version__)
print(torch.cuda.is_available())
Pythonを起動

ようやく、環境が整ってきたようです。


Stable Diffusion Web UIの旧バージョンをセットアップするよ!

Stable Diffusionに関連するファイルをGitHubからダウンロードしていきます【vladmandic/automatic】。
Cドライブ直下、Dドライブ直下(パーティション設定)など、いろいろ設定の好みがあるかと思います。
わたしは指紋認証外付SSD「Portable SSD T7 Touch」というものに導入しようと試みましたが、アクセス権限等の問題があり諦めました。
実績のあるDropbox下に作成しようと思います。

Macユーザーのかたへのちょっとしたアドバイス
WindowsとMacではパスの記法が異なると思います。
ドライブ表記(C:)に加えて、円マーク(¥)やバックスラッシュ(\)、ドライブ表記(C:)などがあるのですが、Mac(Linux系?)ではバックスラッシュ(\)により後ろの文字がキャンセルされてしまいます。
WindowsとMacで共通のコードを実行できるように、パス情報は面倒ではありますがスラッシュ(/)を使用するようにするとよいと思います。

cd /Users/user/Dropbox/GitHub/clone
git clone https://github.com/vladmandic/automatic.git

Stable Diffusion Web UIを初回起動する!

モデルファイルを先に入れておこうと思いましたが、フォルダがありませんでした。初回起動時に作成されるのかと思い、まず起動してみます(→予想通り、フォルダが作成されました)。

GitHubからダウンロードして作成されたフォルダ「/Users/user/Dropbox/GitHub/clone/automatic」の中にある「webui.bat」をダブルクリックするか、以下のコマンドで初回起動します。

cd /Users/user/Dropbox/GitHub/clone/automatic
python launch.py

Running on local URL: http://127.0.0.1:7860
を確認したら、ウェブブラウザから「http://127.0.0.1:7860」にアクセスしましょう!

UI themeが「black-orange」になっていますので、変更が必要でしたら
Setting > User interface > UI themeから選択してください。
また、Setting > User interface > Quick setting listに「, sd_vae」を登録しておくと、簡単にVAEの変更をすることができるようになります!
Apply settingsを忘れずに押して、再起動しましょう!

ControlNet v1.1.150やLoraなども導入されていました!!
以下が初回起動で導入される拡張機能です。

モデルファイルを準備するよ!

モデルファイルの入手先は主に以下の2か所!

万象熔炉様のAnything V5を使用してみます。

モデルファイルを格納する場所は「/Users/user/Dropbox/GitHub/clone/automatic/models/Stable-diffusion」になります。
サブフォルダを作成することも可能です。
例えばアニメ系、実写系などで使い分けたい場合は「anime」「real」というフォルダを作成して仕分けしてはいかがでしょうか。

1girl Steps: 20, Sampler: UniPC, CFG scale: 6, Seed: 418665032, Size: 512x512, Model hash: 7f96a1a9ca, Model: 2_AnythingV5_v5PrtRE, Clip skip: 1 Time taken: 3.91s | GPU active 2624 MB reserved 3068 MB | System peak 3577 MB total 6144 MB

まとめ

ようやくようやくここまでたどり着くことができました!
道のりは長かったです。

  • Windowsの再セットアップ(初期化)

  • python、git、CUDA、cuDNN、PyTorch2.0の導入

  • Stable Diffusion Web UIの導入

これから、以前、正常に動作しなかったけど気になっていた拡張機能を導入したいと思います!

前回の記事と合わせて、本記事を備忘録として、何か動作に不具合があればなんとか復帰できるのかなと思っています。
本記事をご覧になられた方に、なにか参考になることがありましたら幸いです。

おまけ

画像サイズ調整がお手軽になるという拡張機能を入れましたよ!

長かった・・・

この記事が参加している募集

#やってみた

36,980件

この記事が気に入ったらサポートをしてみませんか?