【Stable Diffusion】xformersを最新版にアップデートして、WebUIでのイラストの生成速度を高速化する方法!

こんにちは!悠です!

 

今回は、「Stable Diffusion WebUI」に最初からインストールされているxformersを最新版にアップデートして、AIイラストの生成速度を向上させる方法についてまとめていきます。

なおこの記事の方法はローカル版専用になっています。

【2023年】「Stable Diffusion WebUI」をローカル環境に構築するやり方!低スぺックPC(1660Ti)でもOK!
「Stable Diffusion WebUI」をローカル環境に構築する方法について、できる限り詳しく紹介した記事です。Google Colabratoryのように一日の使用制限がないため、一度環境を構築してしまえば快適に遊べますよ!

 

大きい画像サイズを生成する時ほど、xformersの効果が発揮されると言われています。

アイキャッチ画像は「Hassaku」で生成しています。
スポンサーリンク
スポンサーリンク

xformersを有効化する方法

xformersとは簡単に言えば、AIイラストの生成速度を向上させ、消費するVRAMの量を少なくしてくれる機能のことです。

 

xformersは最初からWebUIにインストールされていますが、有効にする場合はコマンドラインにオプションを追加する必要があります。

これはGoogle Colaboratory版とローカル版のどちらも同じです。

 

ローカル版の場合は「webui-user.bat」をメモ帳で開き、set COMMANDLINE_ARGSに下記のオプションを追加しましょう。

--xformers

 

 

 

Colab版の場合も同じように、COMMANDLINE_ARGSにオプションを追加しましょう。

 

テスト環境を構築しよう!

では早速xformersを最新版に更新していくんですが、アップデートをすることで予期せぬエラーが生じる可能性が考えられます。

私の場合は何も起きませんでしたが、OSや使っているGPU、そのほか様々な要因でエラーの有無は変わってきます。

 

そのため今現在メインで使っているWebUIのフォルダではなく、もう1つWebUIの環境を別にインストールし、その中でテストすることをおすすめします。

 

なお、必ずこの記事の方法で再度インストールしてください。

フォルダをコピペして複製すると高確率でエラーの原因になります。

 

xformersを最新版にアップデートする方法

 

現時点のxformersのバージョンを確認

まずは現時点でのPytorchとxformersのバージョンを確認しましょう。

Pytorchとは、xformersを動かすために必要なプログラムのことです。

 

「C:\Users\name\Desktop\SD_Test_Version\webui\venv\Scripts」のフォルダ(パスの前半部分は各環境で異なります)に下記のコマンドで移動し、

cd C:\Users\name\Desktop\SD_Test_Version\webui\venv\Scripts

 

Pytorchのバージョンを確認する下記のコマンドを入力します。

python -c "import torch; print( torch.__version__ )"

 

おそらく初期状態では1.13.1+cu117と表示されると思います。

WebUI(ver1.1.0)はtorch2.0.0+cu118、WebUI(ver1.2.0)はtorch2.0.1なので、インストールした時期によっては最初からtorch2.0.0以上のバージョンが入っているかもしれません。

 

次にxformersのバージョンを確認します。下記のコマンドを入力します。

python -m xformers.info

 

おそらく初期状態ではxFormers 0.0.16と表示されると思います。

アップデート作業は必ずvenvフォルダ内で行ってください。例えばただコマンドプロンプトを開いて、「C:\Users\name」のディレクトリで今回の作業を行っても全く意味がありません。venvの中は仮想環境になっており、この場所で適用したpythonのプログラムがWebUIの動作に関係します。

 

2023年4月10日の時点で、xformersの最新バージョンは0.0.18になっているのでアップデートしていきましょう。

2023年5月27日時点の最新バージョンは、0.0.20になっています。
GitHub - facebookresearch/xformers: Hackable and optimized Transformers building blocks, supporting a composable construction.
Hackable and optimized Transformers building blocks, supporting a composable construction. - GitHub - facebookresearch/xformers: Hackable and optimized Transfor...

 

Pytorchをアップデート【cmd】

WebUIのtorchバージョンが2.0.0+cu117、2.0.0+cu118、2.0.1+cu118の場合はこの作業を行う必要はありません。

WebUIのver1.0.0ではtorch1.13.1、ver1.1.0ではtorch2.0.0、ver1.2.0ではtorch2.0.1が使用されています。

 

xformers 0.0.19を動かすにはPyTorchの2.0.0+cu118が必要になります。

2.0.0+cu1172.0.1+cu118でも動作します。

 

ではPytorchのアップデートを行っていきましょう。

「C:\Users\name\Desktop\SD_Test_Version\webui\venv\Scripts」のフォルダ(パスの前半部分は各環境で異なります)に下記のコマンドで移動し、

cd C:\Users\name\Desktop\SD_Test_Version\webui\venv\Scripts

 

この後activateと打ち込んで、(venv)を表示させてから下記のコマンドを打ち込んだ方が良いかもしれません。

 

Pytorchのバージョンを下記のコマンドでアップデートします。

もし特定のバージョンに変更したい場合は公式サイトを確認してください。

※pip3でダメな場合はpipにすると動くかもしれません。

 

【torch2.0.1】

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

 

【torch2.0.0+cu118】

pip install torch==2.0.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu118

 

【torch2.0.0+cu117】

2.0.0+cu118をインストールする際にBadZipFileというエラーが表示される場合は、下のコマンドで2.0.0+cu117に変更するのがおすすめです。

pip install torch==2.0.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu117

 

インストールが終わったらバージョンを確認してみましょう。2.0.0+cu118(変更したバージョン)になっていれば導入成功です。

 

Pytorchをアップデート【webui-user.bat】

バージョン1.1.0以降のWebUIを導入済みだけれど、Pytorchが2.0.0未満になっているパターンなら、webui-user.batのset COMMANDLINE_ARGS=の中に下記のオプションを入力して起動してください。

--reinstall-torch

 

使っているWebUIのバージョンに最適なtorchを再インストールしてくれます。

いろいろ試してみて変になった時にもおすすめのコマンドです。

 

xformersをアップデート

次にxformersをアップデートしていきます。同じく「~\webui\venv\Scripts」の中で下記のコマンドを実行してください。

※こちらもactivateして(venv)を表示させておく方が良いかもしれません。

pip install -U xformers

 

これで最新バージョンに更新できます。インストールが終わったらコマンドで確認してみましょう。

xFormers 0.0.18(or 0.0.19)となっていれば導入は完了です。

 

ちなみにPytorchとxformersのバージョンは、WebUIを起動して一番下までスクロールすることでも確認できます。



まとめ

以上が、「Stable Diffusion WebUI」に最初からインストールされているxformersを最新版にアップデートして、AIイラストの生成速度を向上させる方法についての紹介でした。

繰り返しになりますが、まず最初にテスト環境でバグが生じないか確認してからxformersのアップデートを行いましょうね!

 

ちなみに私の環境(GTX 1660Ti)では、「イラストの生成速度が気持ち早くなったかな?」くらいの印象でした。

もし生成速度が劇的に向上した方がいらっしゃったら、コメント欄で教えていただけると嬉しいです!

 

では、ここまで読んでいただきありがとうございました。

コメント

  1. シオン より:

    今回の記事と関係ないのですがgoogleclobでAIイラストを作っているのですがLoraを2つ以上使いたい場合はどうすればいいですか?

  2. ボムボムプリン より:

    こんにちは。
    あまりにも素人すぎてvenvフォルダ内でやらなければいけないということも知らなかったため、xformersをうまく導入できず自家製LoRaの作成をしばらく諦めていました…。今日思い立って調べなおしたところ、こちらの記事になんとかたどり着くことができ前述のことに関して「そうだったのか!」と感動を覚えるに至りました。ありがとうございます。

    さて、ただ実際に導入しようと試みたところ、途中まで上手くいっていたようなのですが何やら警告とエラーが吐かれてしまい、xformersの更新ができませんでした。また、今回の作業を行う前まではローカル環境でイラストの生成ができていたのですが、今回ので歯車が狂ってしまったのか「ConnectionResetError: [WinError 10054] 既存の接続はリモート ホストに強制的に切断されました。」というエラーにより稼働できなくなってしまいました。以前xformersを導入しようとした際にtorch関連で試行錯誤の過程でアップグレードダウングレードを繰り返して初期状態から離れてしまったことが原因なのではないかと思います…。
    お助け頂ければ幸いです…。以下がxformers更新時の警告文とエラーです。

    WARNING: Ignoring invalid distribution -rotobuf (c:\sd\stable-diffusion-webui\venv\lib\site-packages)

    ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    xformers 0.0.16rc425 requires pyre-extensions==0.0.23, which is not installed.
    xformers 0.0.16rc425 requires torch==1.13.1, but you have torch 2.0.0+cu118 which is incompatible.
    open-clip-torch 2.7.0 requires protobuf==3.20.0, but you have protobuf 4.22.1 which is incompatible.

    • 悠 より:

      コメントありがとうございます!

      ボムボムプリンさんは恐らく以前にもいろいろ試行錯誤をされていたと思うので、記事のようにテスト環境でインストールはされていませんよね?
      xformersに必要なtorchのバージョンと現在インストールされているバージョンが違うと言われていますね。

      一度「venvフォルダの中で」pip uninstall torchとpip uninstall xformersのコマンド(モジュール名に関してはpip listで確認してください!たぶんあっていると思います!)を使って、torchとxformersをアンインストールして、再度導入し直してみてはいかがでしょうか?

      それかどうしても修復できないときは、面倒ですがwebUIを再度インストールしてみてもいいかもしれません。

      ちなみにvenvフォルダ以外の場所にtorchやxformersがある必要はないので、もしインストールされている場合は削除しても大丈夫ですよ!(容量を食いますしね…)

      • ボムボムプリン より:

        ご返信ありがとうございます!

        おっしゃる通りテスト環境でインストールせず始めてしまいました…。
        頂いたアドバイスに従い双方アンインストールを行いましたがうまくいかなかったため再度webUIをインストールしてきました。ところが一度起動しようとしたところこちらではまた別のエラーが出てしまいました…。bingAIに尋ねたところ「fastapiというモジュールのバージョンが0.91に更新されたことで、互換性が失われたためです」とのことでしたがどこをどう変更したらよいのかわからず…。
        以下はローカルURLが出力されたのちに出てきたエラー文です。よろしくお願いいたします…。

        To create a public link, set `share=True` in `launch()`.
        Traceback (most recent call last):
        File “C:\sd\sd.webui\webui\launch.py”, line 325, in
        start()
        File “C:\sd\sd.webui\webui\launch.py”, line 320, in start
        webui.webui()
        File “C:\sd\sd.webui\webui\webui.py”, line 224, in webui
        app.add_middleware(GZipMiddleware, minimum_size=1000)
        File “C:\sd\sd.webui\webui\venv\lib\site-packages\starlette\applications.py”, line 139, in add_middleware
        raise RuntimeError(“Cannot add middleware after an application has started”)
        RuntimeError: Cannot add middleware after an application has started

        • 悠 より:

          コマンドプロンプトを開いて、
          cd C:\Users\name\Desktop\Stable_Diffusion\webui\venv\Scripts
          ※前半部分はボムボムプリンさんの環境に合わせてパスが変わるはずです。

          に移動した後、
          activate
          と打ち込み、

          pip install fastapi==0.90.1
          と入力することでエラーが解決されませんでしょうか?

          インストール後はdeactivateで(venv)から抜けられます。

          • ボムボムプリン より:

            うわぁできました!(感涙)
            一足飛びにxformersの導入まで完走できました……!!
            本当に、本当にありがとうございました…!

  3. ぼんば より:

    いつも拝見させて頂いてます
    アップデートに関してなんですが
    pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu118
    これを打ち込んでも
    Looking in indexes: https://download.pytorch.org/whl/cu118
    Requirement already satisfied: torch in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (1.13.1+cu117)
    Requirement already satisfied: torchvision in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (0.14.1+cu117)
    Requirement already satisfied: torchaudio in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (0.13.1)
    Requirement already satisfied: typing-extensions in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from torch) (4.5.0)
    Requirement already satisfied: requests in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from torchvision) (2.25.1)
    Requirement already satisfied: numpy in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from torchvision) (1.23.3)
    Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from torchvision) (9.4.0)
    Requirement already satisfied: chardet=3.0.2 in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (4.0.0)
    Requirement already satisfied: certifi>=2017.4.17 in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (2022.12.7)
    Requirement already satisfied: idna=2.5 in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (2.10)
    Requirement already satisfied: urllib3=1.21.1 in c:\sd2\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (1.26.15)

    [notice] A new release of pip available: 22.2.1 -> 23.1
    [notice] To update, run: python.exe -m pip install –upgrade pip
    と表示されてしまいます
    その後バージョンの確認をしても1.13.1+cu117のままです
    なにか足らない気がするのですがどのあたりで問題があるのか悩んでいます

    • 悠 より:

      コメントありがとうございます!

      \sd2\stable-diffusion-webui\venv\lib\site-packages
      で操作されていませんでしょうか?

      もしその場合は
      \sd2\stable-diffusion-webui\venv\Scripts
      の方にcdコマンドで移動してpip installすると上手くいくと思います!

  4. きょん より:

    こんにちは いつもわかりやすく解説してくださっているので感嘆しながら毎日ホームページ拝見してます。
    今回、真似をしてxformersを更新しようとしたところ、下記エラーがでました。
    torch/lib/cudnn_cnn_infer64_8.dll とBadZipFileで検索して回ったのですが、解決に至らず、、、
    stable_diffusionをテスト用に新規に設定、python10.6の入れ直しとK:\Users\testa\AppData\Local\Programs以下のファイルの入れ直しをしてみたのですが状況変わらずでした。
    何か原因わかりますでしょうか。もし助言いただけましたら幸いです。


    ERROR: Exception:
    Traceback (most recent call last):
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\cli\base_command.py”, line 167, in exc_logging_wrapper
    status = run_func(*args)
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\cli\req_command.py”, line 247, in wrapper
    return func(self, options, args)
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\commands\install.py”, line 461, in run
    installed = install_given_reqs(
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\req\__init__.py”, line 73, in install_given_reqs
    requirement.install(
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\req\req_install.py”, line 790, in install
    install_wheel(
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\install\wheel.py”, line 727, in install_wheel
    _install_wheel(
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\install\wheel.py”, line 587, in _install_wheel
    file.save()
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\install\wheel.py”, line 388, in save
    shutil.copyfileobj(f, dest)
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\shutil.py”, line 195, in copyfileobj
    buf = fsrc_read(length)
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\zipfile.py”, line 925, in read
    data = self._read1(n)
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\zipfile.py”, line 1015, in _read1
    self._update_crc(data)
    File “K:\Users\testa\AppData\Local\Programs\Python\Python310\lib\zipfile.py”, line 943, in _update_crc
    raise BadZipFile(“Bad CRC-32 for file %r” % self.name)
    zipfile.BadZipFile: Bad CRC-32 for file ‘torch/lib/cudnn_cnn_infer64_8.dll’

    • 悠 より:

      コメントありがとうございます!嬉しいお言葉です!

      まず最初に確認させていただきたいんですが、下記のようにvenvフォルダに移動してインストール作業を行われていますでしょうか?
      cd C:\Users\name\Desktop\SD_Test_Version\webui\venv\Scripts

      • きょん より:

        確認ありがとうございます!貼付端折ってしまってすみません。

        C:\Users\testa>K:
        K:\>cd K:\AI\sdtest\stable-diffusion-webui\venv\Scripts
        K:\AI\sdtest\stable-diffusion-webui\venv\Scripts>pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu118

        上記内容でインストールを試みている状態なんです。

        • 悠 より:

          現在エラー方法の解決法を探しています。でもBadZipFileというやつは初めて見ました…
          もし何かわかりましたら追記いたします。

          ちなみに下の記事で紹介しているやり方でもPytorchを2.0.0+cu118にアップデートできるらしいんですが、こちらはどうでしょうか?
          https://yuuyuublog.org/opt-sdp-attention/

          • きょん より:

            お忙しいのにすみません。ありがとうございます。上記のweb-user.bat編集でも同じエラーが出てしまいました。
            pytorch自体の内容でエラーが出ているようにも思えてきてしまっております。。
            最後のエラー文から、cudnn_cnn_infer64_8.dll のCRCエラー なのかな?と思っているのですが、
            python 3.10.6 で作成される 
            K:\Users\testa\AppData\Local\Programs\Python\Python310\Lib\site-packages\torch\lib\cudnn_cnn_infer64_8.dll
            に対するCRCエラーのように見えて、このpythonのversionで作られる上記dllだとだめなのかしら、、、と頭を悩ませています。

          • きょん より:

            pytorch2.0.0 + cuda11.7 (pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu118)
            はインストールできました! cuda11.8が何か悪さをしていそうです。

          • 悠 より:

            おお、cuda11.8の問題とは…!
            xformersの0.0.18も無事にインストールできましたでしょうか?
            torch2.0.0+cu117でxformersがきちんと機能するかどうかちょっと心配なのですが、大丈夫でしたでしょうか?

            あと1つだけ気になっていることがあって、
            もしかするとcdコマンドでwebui\venv\Scriptsに行った後、activateと打ち込み、(venv)と表示されてからpip installコマンドを打ち込む必要があるのかも?とちょっと考えています。
            私の場合記事のやり方で上手くいったので、activateがどれだけの重要性をもつのかわからないのですが…

          • きょん より:

            venv仮想環境をactivateしてもerrorでちゃいました(汗
            一方、pytorch2.0.0 + cuda11.7でも一応xformers0.0.18に更新はできたので(たぶん問題なさそう)、
            いったんこれで一安心です。
            ちなみに、pytorch2.0.0+cuda11.7は、
            pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu117
            で更新しました。
            相談に乗っていただいてありがとうございました!

  5. RAGE より:

    こちらの記事のおかげでpytorchとxformersを無事更新できました。
    体感ですが処理時間が3分の2位になった気がします。
    ありがとうございました!!

  6. 初心者 より:

    googleclobを使用しておりますが以下エラーとなりました。
    COMMANDLINE_ARGSにオプションは追加しおります(–xformers)。

    RuntimeError: Detected that PyTorch and torchvision were compiled with different CUDA versions. PyTorch has CUDA Version=11.7 and torchvision has CUDA Version=11.8. Please reinstall the torchvision that matches your PyTorch install.

    多分、PyTorchのバージョンが違うという事と思われます。
    googleclob上ではどのようにしたらいいのでしょうか。

    【xformersを最新版にアップデートする方法】では
    ローカル環境のみかと思われるため質問させて頂いております。

    何卒宜しくお願い致します。

  7. ryo より:

    すごくわかりやすい内容ばかりでとても助かっています。
    現在ダウンロードできる”sd.webui.zip”にはwebuiディレクトリ直下にvenvディレクトリが見当たりません。
    この場合のPytorchとxformersのバージョン更新の方法を教えていただけると助かります。
    お時間があるときにでもご助言いただければと思います。よろしくお願いします

    • 悠 より:

      コメントありがとうございます!

      え!?venvがないんですか??
      現在Automatic1111が大規模アップデートの真っ最中であることと関係あるんですかね?

      その場合、WebUIを起動してウィンドウの一番下にPytorchとxformersのバージョンは表示されていますでしょうか?

      • 匿名 より:

        悠さん

        お返事ありがとうございます。
        xformersを基本的に無効化しているのでWeb UI最下の表記は以下ですが、
        torch:1.13.1+cu117
        xformers:N/A

        xformerを有効化するとxformers:0.0.17の表記となります。
        また、xformerを有効化してrun.batを実行する際に以下のエラーが出ておりPytorchとxformersの再インストールが必要なようです。
        一方でvenvが見つからないため、適切なインストール方法がわからず困っている状況です。

        Launching Web UI with arguments: –xformers
        WARNING[XFORMERS]: xFormers can’t load C++/CUDA extensions. xFormers was built for:
        PyTorch 2.0.0+cu118 with CUDA 1108 (you have 1.13.1+cu117)
        Python 3.10.10 (you have 3.10.6)
        Please reinstall xformers (see https://github.com/facebookresearch/xformers#installing-xformers)
        Memory-efficient attention, SwiGLU, sparse and more won’t be available.
        Set XFORMERS_MORE_DETAILS=1 for more details
        ==============================================================================
        You are running torch 1.13.1+cu117.
        The program is tested to work with torch 2.0.0.
        To reinstall the desired version, run with commandline flag –reinstall-torch.
        Beware that this will cause a lot of large files to be downloaded, as well as
        there are reports of issues with training tab on the latest version.

        Use –skip-version-check commandline argument to disable this check.
        ==============================================================================

        Web UIダウンロードページを見てもやっぱりvenvのディレクトリがないようですね。
        https://github.com/AUTOMATIC1111/stable-diffusion-webui

        • 悠 より:

          https://yuuyuublog.org/opt-sdp-attention/

          上の記事で紹介している方法でtorchをアップグレードできませんでしょうか?
          webui.batのcommandlineに書き込むやつです!

          というかインストーラーも最新版(1.1.0)になってますね~。これはローカル構築する手順に影響しそう…

          • 匿名 より:

            悠さん

            ありがとうございます!
            ご提案の方法でrourchのアップグレードができたため、以下のバージョン組み合わせで無事動作しました!
            torch: 2.0.0+cu118
            xformers: 0.0.17

            大きい画像で試してみて生成速度は2倍以上に早いですし、出来栄えの比較をしても目を凝らしてみてやっと分かるかどうかの程度で全く気にならないです。
            xformersは最新版ではありませんが特に問題はないです。
            xformersの方は必要に応じて今後情報を集めてupdateできればと思います。
            ありがとうございました!!

  8. 匿名 より:

    この記事はいつの記事ですか?
    最近のものであれば参考にしたいです

  9. マウス より:

    いつも拝見させて頂いてます。
    xformers のバージョンアップがweb-uiに反映されない現象に困ってます。
    現在、web-uin の最下部表記は以下のバージョンです。
    torch: 2.0.0+cu118  •  xformers: 0.0.17

    python -m xformers.info の結果は
    xFormers 0.0.19 になってます。

    当初、webui\venv\Scripts 内のアップデート作業を行いましたが、コマンドではバージョンアップが完了してるものの web-ui 内の表記が
    torch: 1.13.1+cu117  •  xformers: 0.0.16rc のままで反映されませんでした。

    Redditの記事の、webui-user.bat をメモ帳で開いて set TORCH_COMMAND= 諸々を追加する方式を取ったところ
    torch: 2.0.0+cu118 だけ反映された為、追加で set COMMANDLINE_ARGS= –reinstall-xformers を実行した結果、現在のバージョン表記になりました。

    アップデート作業は普段使ってる起動ファイルがあるフォルダの venv\Scripts フォルダ内で右クリックからターミナルを開いて実行しました。

    当初からバージョンは上がったものの、xformers: 0.0.19 ではないのでやきもきしてます、、
    何かご教授頂ければ助かります。

    • マウス より:

      自己解決しました。

      \venv\Scripts フォルダ内にてShift右クリックから『PowerShellウインドウをここで開く』を実行

      .\Activate.ps1 実行後

      (venv) PS 表記に変わった状態で pip install -U xformers 実行で反映されました。

      • 悠 より:

        ああ!大変申し訳ありません!!
        マウスさんのコメント確認させていただいていたんですが、承認だけして返信するのを忘れていました…

        それでも解決できてよかったです!本当にごめんなさい…

      • なべ より:

        同じ症状に悩まされていたのですが本コメントのおかげで解決いたしました。当方の場合は
        .\Activate.ps1 実行の際にポリシー上のエラーが出ましたので

        Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process を行った後に
        .\Activate.ps1 を実行、以後同様。とすることで解決に至りました。

  10. TR より:

    いつもサイトを参考にさせて頂いております。
    xformersを導入したところ、体感速度で生成にかかる時間が1/3~1/4になりました。
    ありがとうございます。
    環境はRTX 2080です。

  11. T2 より:

    お世話になっております。
    いつも楽しく拝見させていただいております。

    本記事を実行したところ以下のエラーが出て起動できなくなってしまいました。

    venv “D:\stablediffusion20230313\stable-diffusion-webui\venv\Scripts\Python.exe”
    Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
    Commit hash: 5ab7f213bec2f816f9c5644becb32eb72c8ffb89
    Traceback (most recent call last):
    File “D:\stablediffusion20230313\stable-diffusion-webui\launch.py”, line 352, in
    prepare_environment()
    File “D:\stablediffusion20230313\stable-diffusion-webui\launch.py”, line 257, in prepare_environment
    run_python(“import torch; assert torch.cuda.is_available(), ‘Torch is not able to use GPU; add –skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check'”)
    File “D:\stablediffusion20230313\stable-diffusion-webui\launch.py”, line 120, in run_python
    return run(f'”{python}” -c “{code}”‘, desc, errdesc)
    File “D:\stablediffusion20230313\stable-diffusion-webui\launch.py”, line 96, in run
    raise RuntimeError(message)
    RuntimeError: Error running command.
    Command: “D:\stablediffusion20230313\stable-diffusion-webui\venv\Scripts\python.exe” -c “import torch; assert torch.cuda.is_available(), ‘Torch is not able to use GPU; add –skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check'”
    Error code: 1
    stdout:
    stderr: Traceback (most recent call last):
    File “”, line 1, in
    File “D:\stablediffusion20230313\stable-diffusion-webui\venv\lib\site-packages\torch\__init__.py”, line 133, in
    raise err
    OSError: [WinError 126] w肳ꂽW[‚܂B Error loading “D:\stablediffusion20230313\stable-diffusion-webui\venv\lib\site-packages\torch\lib\cudnn_cnn_infer64_8.dll” or one of its dependencies.

    続行するには何かキーを押してください . . .

    以上、大変お手数ですが解決方法をご存じでしたらご教示いただけますと幸いでございます。
    よろしくお願いします。

    • 悠 より:

      コメントありがとうございます!

      「続行するには何かキーを押してください . . .」と出たときはPCの再起動でなぜか上手くいくことがあるので、まずはこれを試してみてほしいです!
      あとErrorメッセ内で、COMMANDLINE_ARGSの中に–skip-torch-cuda-testを追加してみるように提案されているので、ぜひこれもやってみてください。

      それとは別に、venv/scriptsの中のtorchのバージョンはどうなっていますでしょうか?
      私の例ですが、同じように2.0.0+cu118にしようとすると変なエラーが出る場合は、2.0.0+cu117にするとなぜか上手くいくことがありました。

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

      あ、あともしかしてAMD製のGPUを使っていらっしゃいます?Nvidia製のGPUではないと変なエラーが表示されると聞いたことがあります。

      • かつおのたたき より:

        上記の方と同じエラーが出るので2.0.0+cu117にしようとしたところ、以下のエラーが出ました。解決方法はないでしょうか?初心者であるためあまりわからず質問しているところはございますが、ご容赦ください。

        C:\SD_test\stable-diffusion-webui\venv\Scripts>pip install torch==2.0.0 torchvision –extra-index-url https://download.pytorch.org/whl/cu117
        WARNING: Ignoring invalid distribution -rotobuf (c:\sd_test\stable-diffusion-webui\venv\lib\site-packages)
        WARNING: Ignoring invalid distribution -rotobuf (c:\sd_test\stable-diffusion-webui\venv\lib\site-packages)
        Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu117
        Requirement already satisfied: torch==2.0.0 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (2.0.0)
        Requirement already satisfied: torchvision in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (0.15.1+cu118)
        Requirement already satisfied: typing-extensions in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torch==2.0.0) (4.5.0)
        Requirement already satisfied: sympy in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torch==2.0.0) (1.12)
        Requirement already satisfied: filelock in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torch==2.0.0) (3.12.0)
        Requirement already satisfied: jinja2 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torch==2.0.0) (3.1.2)
        Requirement already satisfied: networkx in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torch==2.0.0) (3.1)
        Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torchvision) (9.4.0)
        Requirement already satisfied: requests in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torchvision) (2.25.1)
        Requirement already satisfied: numpy in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from torchvision) (1.23.3)
        Requirement already satisfied: MarkupSafe>=2.0 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from jinja2->torch==2.0.0) (2.1.2)
        Requirement already satisfied: urllib3=1.21.1 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (1.26.15)
        Requirement already satisfied: certifi>=2017.4.17 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (2023.5.7)
        Requirement already satisfied: chardet=3.0.2 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (4.0.0)
        Requirement already satisfied: idna=2.5 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from requests->torchvision) (2.10)
        Requirement already satisfied: mpmath>=0.19 in c:\sd_test\stable-diffusion-webui\venv\lib\site-packages (from sympy->torch==2.0.0) (1.3.0)
        WARNING: Ignoring invalid distribution -rotobuf (c:\sd_test\stable-diffusion-webui\venv\lib\site-packages)
        WARNING: Ignoring invalid distribution -rotobuf (c:\sd_test\stable-diffusion-webui\venv\lib\site-packages)
        WARNING: Ignoring invalid distribution -rotobuf (c:\sd_test\stable-diffusion-webui\venv\lib\site-packages)
        WARNING: Ignoring invalid distribution -rotobuf (c:\sd_test\stable-diffusion-webui\venv\lib\site-packages)

        [notice] A new release of pip available: 22.2.1 -> 23.1.2
        [notice] To update, run: python.exe -m pip install –upgrade pip

        C:\SD_test\stable-diffusion-webui\venv\Scripts>python -c “import torch; print( torch.__version__ )”
        2.0.0+cpu

  12. T2 より:

    度々失礼いたします。

    早々にご返信いただきありがとうございます。
    再起動を試みましたが残念ながらうまくいかなったため、環境を再構築し無事復帰いたしました。

    エラーが出て動揺しておりましたが、早々にご返信いただきましたことでとても気持ちが落ち着きました。
    改めまして感謝申し上げます。

    高速化という魅力に逆らえず力量不足を軽視して、今回にいたったことを反省し研鑽します!

  13. T2 より:

    度々失礼します。

    GPUはグラボが4070tiなので恐らくNvidia製かと思われます。