【***重要***】
最新版のWebUI(v1.2.1以降)は導入方法が変わりました。下の記事で詳しく紹介しています。

この記事内で紹介しているのは、WebUI(v1.0.0)の導入方法です。
こんにちは!悠です!
以前までGoogle Colabratoryを使った、誰でもできるAIコスプレイヤーの生成方法をご紹介してきました。

しかし無料版のGoogle Colabratoryには一日の使用回数に制限があるため、無限に遊ぶことはできません。
そこで今回は「Stable Diffusion WebUI」をローカル環境に構築する方法について、できる限り詳しくご紹介していきます。

なお、私のPCのGPUはGTX1660Tiなんですが、こういった世代遅れのGPUでも問題なく起動できます。
Stable Diffusion WebUIとは?
「Stable Diffusion WebUI」とは、ブラウザ上でAIによるイラスト生成を行うことができるツールのことを指します。
下記のようなおなじみのUIですね。私の以前の記事をご覧になった方ならもう1度は使っていることでしょう。
このツールを導入せずに「Stable Diffusion」を使おうとすると、コマンドプロンプトで操作することになり難易度が爆上がりします。

コマンドプロンプトであれこれやるのは、どう考えても初心者向きではないです!
WebUIをローカル環境に構築するやり方
それでは早速、「Stable Diffusion WebUI」をローカル環境で構築する方法についてまとめていきます。
GPUの確認
流石にGPUが付いていないPCでは起動不可だと思われますので注意して下さい。
自分のPCについているGPUの確認方法は、タスクマネージャーのパフォーマンスの欄をチェックするだけでOKです。
※Intel UHD Graphicsのことではないので注意!
ちなみに専用GPUメモリの事(上図)をVRAMというんですが、ここが最低でも6GBはないときついらしいです。
※快適に使いたい場合は12GB以上(RTX3060以上)が推奨されているので仕方がないですね。
Python 3.10.6のインストール
下記リンク先より、Python 3.10.6をPCにインストールします。WebUIで推奨されているバージョンは3.10.6なので、間違えて他のバージョンにしないよう注意しましょう。

「Windows installer (64bit)」をダウンロードして起動し、指示に従ってインストールします。
なお、必ずAdd Python 3.10 to PATHにチェックを入れるようにしましょう。
これを忘れるとシステムの環境設定から自分でPATHを通す必要が出てきます。
Python 3.10.6をダウンロードせずこれ以降の作業を進めようとすると、
Creating venv in directory venv using python Unable to create venv in directory venv
exit code: 1
上記のようなエラーが表示されてWebUIが起動しなくなります。
Gitのインストール
下記リンク先よりStandalone版のGitをダウンロードします。
インストーラーをダブルクリックして起動し、指示に従ってインストールしましょう。
いろいろ設定を聞かれますが、特に変更せず次へを押していって大丈夫です。
Stable Diffusion WebUIのインストール
【ver1.0.0】
上記GitHubのリンクより、「sd.webui.zip」をダウンロードして解凍します。
解凍したフォルダは任意の場所に配置しましょう。私の場合はデスクトップ上にStable Diffusionというフォルダを作成し、その中に置いています。
フォルダの中にあるrun.batをクリックします。
コマンドプロンプトが立ち上がり、自動的に必要なファイルがダウンロードされていきます。
「続行するには何かキーを押してください」という表示が出るまで待ちましょう。
続いてGTX1660Ti等の低スペックGPUでも動作できるようにコマンドを追記していきます。
webuiフォルダの中にある「webui-user.bat」をメモ帳で開いてください。
set COMMANDLINE_AGESにコマンドを入力していきます。これは使用しているGPUのスペックによって変わってきます。
【ハイスペックGPU(VRAM12GB以上)】
--autolaunch --xformers
【ロースペックGPU(GTX10xxなど)】
--autolaunch --medvram --xformers
【GTX16xx専用】
--autolaunch --precision full --no-half --medvram --xformers
【VRAM4GBの超ロースペックGPU】
--autolaunch --lowvram --xformers
【コマンドの内容】
- autolaunch:起動時にシステムのデフォルトブラウザで自動的にWebUIを開く。
- precision full:GTX16xxユーザー向け。起動時に画面が真っ黒になるのを防ぐ。
- no half:GTX16xxユーザー向け。起動時に画面が真っ黒になるのを防ぐ。
- medvram:生成速度を犠牲にVRAM消費量を節約する。
- lowvram:medvramよりさらに生成速度を犠牲にしてVRAM消費量を大幅に節約する。
- xformers:AIイラストの生成速度を高速化する。
なお、VRAM6GB程度のGPUならlowvramではなくmedvramでもOKです。medvramにした方が、lowvramより2倍くらい生成時間が早くなります(GTX1660Tiで実際に試してみました)。
VRAM4GBの場合はlowvramが必須のようです(参考記事)。
precision fullと no-halfに関しては、画面が真っ黒になる等のエラーが表示される場合に設定しましょう。
【公式による全コマンドの解説】
モデルデータの導入
「Stable Diffusion WebUI」で使うモデルデータを用意しましょう。Civitaiからダウンロードするのがおすすめです。
各モデルデータのページを開くと青い「Download Latest」というボタンがあるので、それをクリックすればOKです。
なお、上のモデルはこの記事のアイキャッチ画像にも使っている、「NeverEndingDream」です。
入手したモデルデータを「\webui\models\Stable-diffusion」の中に配置します。
なおLoRAモデルのデータは「\webui\models\Lora」、VAEのデータは「\webui\models\VAE」に格納します。
どの場合でもダウンロードした.ckpt、もしくは.safetensorsをそのままドラッグアンドドロップするだけでOKです。
※他にも下記のサイトからもモデルデータをダウンロードできます。

WebUIを起動する。
では「Stable Diffusion WebUI」を起動しましょう。
webui-user.batをダブルクリックします。
初回起動時のみ時間はかかりますが、Google Colabratoryの時と同様にWebUIが起動します。
RuntimeError: Cannot add middleware after an application has started
「RuntimeError: Cannot add middleware after an application has started」というエラーが表示されて、WebUIが起動できない時には次のコマンドを試してみてください。
まずコマンドプロンプトを開き、cdコマンドでwebui\venv\Scriptsに移動します(前半のパスは各環境によって異なります)。
cd C:\Users\name\Desktop\Stable_Diffusion\webui\venv\Scripts
次にactivateと入力します。
activate
(venv)という表記が出るはずなので、下記のコマンドを入力します。
pip install fastapi==0.90.1
インストールが終わったら、deactivateコマンドで(venv)を抜けます。
deactivate
これでWebUIが起動できるようになるはずです。
AIイラストの作成時間に関して(GTX1660Ti)
私のGPU(GTX1660Ti)ではイラストを1枚生成するのに、Google Colabratoryの時と比較して約2倍の時間がかかりました。

やっぱりGPUパワーが不足している…
Google Colabratoryのように使用に制限がないことは魅力的ですが、やっぱり新しいデスクトップPCが欲しくなってきますw
RTX3080の値段も一時期と比べて下がってきていることですし、数年以内にはPCの買い替えをしたいです!
GPUの種類によって生成されるAIイラストに差異があるかも?
全く同じプロンプトを使用しても、RTX3000番台以降のGPUとRTX2000番台以前のGPUでは、生成イラストに差があると主張するユーザー投稿を見つけました。
あくまでもこれは1ユーザーによる投稿なので100%正しいのかどうかは不明ですが、やはり古い時代のGPUを使うことはリスクになるのかもしれませんね。
【追記】
どうやら生成されるAIイラストの品質にGPU性能が影響してるのではなく、GPUの種類が異なると同じSeed値を使っても別の画像が生成されるっぽいです。確定ではありませんが、ちょっと安心ですね。
ローカル版WebUIをアップデート・ダウングレードする方法
上のやり方で導入した「Stable Diffusion WebUI」を、最新バージョンにアップデートしたり、任意のバージョンにダウングレードする方法についてまとめました。

xformersをアップデートして画像の生成速度を高速化する方法
WebUIに最初から導入されているxformersを最新バージョンにアップデートして、AIイラストの生成速度を高速化する方法に関してまとめました。

また、RTX30xxやRTX40xx向けの高速化オプション「opt-sdp-attention」の使い方に関しても下の記事でまとめました。
環境によってはxformersより10%~15%程度の高速化が望めます。

モデルやLoRAにサムネイル画像を付けて整理する方法
長く使ううちに増えていくモデルデータやLoRAにサムネイル画像を付けて、WebUI上で整理する方法をまとめた記事です。

まとめ
以上が、「Stable Diffusion WebUI」をローカル環境に構築するやり方でした。
導入方法はかなり面倒ですが、ハイエンドなGPUを持っている場合、一度環境を構築するとGoogle Colabratoryで生成するよりも圧倒的に自由度が高くなるので、ぜひ試してみてはいかがでしょうか。
では、ここまで読んでいただきありがとうございました。
コメント
いつもありがとうございます。ストレートに起動できず、半日かかって起動させることができました。
とはいえ、GTX1080Tiで1枚の画像に約3分、googleの6倍くらいかかりました。笑
PC買い替えや電気代のことを考えると、googleに課金したほうがいいかもですね
コメントありがとうございます!起動できて何よりです!!
それは意外です!GTX1080Tiは私のGTX1660Tiより性能がいいはず…
1660Tiですら2倍かかる程度という体感だったんですが
もしかして生成するイラストのサイズを大きめ(512×768以上)にしてたりしますでしょうか?
今度別の記事でまとめようと思っているんですが、サイズを大きくしたい場合は、最初に設定するよりもStable Diffusionの別機能(hi resやextras)を使った方が生成時間が早くなります(品質も上です)!
ありがとうございます!おっしゃる通り画像サイズが大きめでした。
いつもちょうど知りたかった情報をわかりやすく更新してもらえるのでマジ助かってます。
おかげで新しい趣味が増えました!
嬉しすぎるお言葉、誠にありがとうございます!!
私も何気なく始めたStable Diffusionが楽しすぎて、RTX3080Tiを買いたくなってきてしまいましたw
2020のM1チップのmacでやったら、step40ぐらいの設定で30分くらいかかってクソ笑いました。 やっぱ気軽にGPUつけ外しできるWindows最強だなぁと。
30分!!それはお疲れ様すぎますw
とてもじゃないですが常用するのは厳しいですね..!!
先日googleのオンラインから始めたのですが、一気にローカル版をインストールしてみました。
途中2回エラーに悩まされましたが、リンク先で解決法を見つけることができなんとか起動できるとこまでこぎつけました。
いろいろいじくり倒してみようと思います。
ありがとうございました。
今後ともよろしくおねがいします!!
ローカル環境でやりたくてこちらの記事を見てすすめていたのですがRuntime errorのくだりのところやってみたのですがこちらが表示されてインストール出来ないのですが解決策わかりますでしょうか?
(venv) C:\Users\dyeka\stablediffusion\webui\venv\Scripts>pip install fastapi==0.90.1
Fatal error in launcher: Unable to create process using ‘”C:\stablediffusion\webui\venv\Scripts\python.exe”“C:\Users\dyeka\stablediffusion\webui\venv\Scripts\pip.exe” install fastapi==0.90.1’: ??????????????????
実行してURLが表示されるとこのあとにこのような分が入ります
To create a public link, set `share=True` in `launch()`.
Traceback (most recent call last):
File “C:\Users\dyeka\stablediffusion\webui\launch.py”, line 325, in
start()
File “C:\Users\dyeka\stablediffusion\webui\launch.py”, line 320, in start
webui.webui()
File “C:\Users\dyeka\stablediffusion\webui\webui.py”, line 224, in webui
app.add_middleware(GZipMiddleware, minimum_size=1000)
File “C:\Users\dyeka\stablediffusion\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
続行するには何かキーを押してください . . .
コメントありがとうございます!
(venv)の中で、下のコマンドを打ち込むとエラーが解消されませんでしょうか?
python.exe -m pip install –upgrade pip
返信ありがとうございます!
このようになりまして特に変わりませんでしたorz
(venv) C:\Users\dyeka\stablediffusion\webui\venv\Scripts>python.exe -m pip install -upgrade pip
Usage:
C:\Users\dyeka\stablediffusion\webui\venv\Scripts\python.exe -m pip install [options] [package-index-options] …
C:\Users\dyeka\stablediffusion\webui\venv\Scripts\python.exe -m pip install [options] -r [package-index-options] …
C:\Users\dyeka\stablediffusion\webui\venv\Scripts\python.exe -m pip install [options] [-e] …
C:\Users\dyeka\stablediffusion\webui\venv\Scripts\python.exe -m pip install [options] [-e] …
C:\Users\dyeka\stablediffusion\webui\venv\Scripts\python.exe -m pip install [options] …
no such option: -u
できました!
ありがとうございます!
おお!おめでとうございます!!
もしよろしければ解決した方法を簡単にでいいので教えていただいても構いませんでしょうか?
別の方の助けになると思いますので、よかったらぜひお願いいたします!
いつもいろいろと参考にさせていただいております。
ありがとうございます。
当記事通りにインストールを行った所、うまくいかなかったのですが
原因を調べてみたところsd.webui.zipを解凍後、いくつか変更があったようで
update.batの起動が必要になっているようでした。
こちらのページの記事でいうとこのタイミングです↓
==========
解凍したフォルダは任意の場所に配置しましょう。私の場合はデスクトップ上にStable Diffusionというフォルダを作成し、その中に置いています。
※ここで解凍フォルダ内にあるupdate.batを先に実行しました!
フォルダの中にあるrun.batをクリックします。
==========
以上、誰かのお役に立てれば幸いです!
コメントありがとうございます!!
これは非常に有益な情報です!記事内に追記させていただきます!
こちらこそいつも有益な記事を読ませていただいています!
ありがとうございます。
これからも応援しておりますー!
コメント、質問を失礼します。
run.batをクリックして作業が始まったのですが、
To create a public link, set ‘share=True’ in ‘launch()’
Startup time: 964.4s (import torch: 1.9s, import gradio: 1.7s, import ldm: 0.6s, other imports: 2.1s, list SD models: 880.7s, setup codeformer: 0.1s, load scripts: 0.9s, load SD sheckpoint: 76.0s, create ui: 0.2s, gradio launch: 0.1s).
と表示されて以降、何も変化が起こらず「続行するには何かキーを押してください」の表記も出ないのですが、いかがしたら良いのでしょうか?
わかりましたら返答いただけたら幸いです。
コメントありがとうございます!
ちょうど昨日コメント欄で、先にupdate.batを実行してrun. batを起動すると上手くいったと教えていただきました!
ぜひ試してみてください!
返信ありがとうございます。
先にupdate.batを実行してrun. batを起動をさせております。
別のウィンドウに「windowsによって保護されました~」みたいな表示が出てたりしないでしょうか?
その場合は許可しないとインストール出来なかった記憶があります。
それかウイルス対策ソフトとか使っていたりしませんでしょうか?
>>別のウィンドウに「windowsによって保護されました~」みたいな表示が出てたりしないでしょうか?
特にそのような表示は出ていません。
ウイルス対策ソフトは個人的には導入しておらず、windowsセキュリティのみが動ています。
例えばですが、webui関連のフォルダを日本語が含まれているフォルダに中に配置している、といったことはありませんでしょうか?
返信が遅くなり申し訳ございません。
日本語が含まれていると良くないと書かれていたので、日本語は使っていないです。
Webui関係のフォルダをどんな場所に保存されていますか?
処理が一向に進まない場合、cドライブ直下に場所を移動してもう一度トライすると上手くいったという報告がありました。
デスクトップにStableDiffusionというフォルダを作って保存していたのを、cドライブ直下にしてトライしましたが、結果は同じでした…。
一度今使っているwebuiのフォルダを全削除して、PC再起動後もう一度ダウンロードし直してrun.batを起動するとどうなります?
また、実は表示されていないだけでインストールは正常に完了した可能性とかありますかね?
記事に書いてある手順でwebuiフォルダの中にあるwebui-user.batのcommandlineにオプションを追記して、起動してみるとどうなりますでしょうか?
無事に起動できました!
フォルダを全削除してPC再起動、再ダウンロードしても結果は同じでした。
ただ、処理が進まなくなったところで、コマンドプロンプトを閉じて終了させ、その後の工程を勧めたところ、無事に起動し、画像生成もできました。
今日一日、たくさん相談に乗っていただきありがとうございました。
今後は、こちらのサイトを参考に、いろいろと試してみたいと思います!
こんにちは。
こちらのブログを拝見しながら導入したところ、起動はしたのですが、いざ画像を生成しようとすると途中で中断し、以下のようなエラーメッセージが出ました。
何がいけなかったのか、わかりましたらアドバイスをお願い致します。
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
コメントありがとうございます!
おそらくwebUIのバージョンが更新されてインストール方法が変わったことが原因だと思います。
明日中にでも新しいバージョンの導入方法をまとめますので、少しだけお待ちいただいてもよろしいでしょうか
返信ありがとうございます。
そうなんですね。
それではブログの更新を楽しみに待たせていただきます!
よろしくお願い致します
書きました!下の記事の方法で試してみてください!
https://yuuyuublog.org/webui_install/
コメントありがとうございます。
ブログ執筆お疲れ様です。
早速試してみたのですが、やはりうまくいかないようです。
起動はするのものの、画像を生成しようとすると止まってしまいます。
エラーメッセージの大事な部分がどこなのかわからなかったので、改めてもっと上の部分からのせさせていただきます。
何かアドバイスがあればよろしくお願い致します。
Error completing request
Arguments: (‘task(9ewfboe1pnowrja)’, ‘1 girl, ‘, ”, [], 20, 0, False, False, 1, 1, 7, -1.0, -1.0, 0, 0, 0, False, 512, 512, False, 0.7, 2, ‘Latent’, 0, 0, 0, [], 0, False, False, ‘positive’, ‘comma’, 0, False, False, ”, 1, ”, [], 0, ”, [], 0, ”, [], True, False, False, False, 0) {}
self.run()
File “C:\StableDiffusion\stable-diffusion-webui\modules\memmon.py”, line 53, in run
free, total = self.cuda_mem_get_info()
File “C:\StableDiffusion\stable-diffusion-webui\modules\memmon.py”, line 34, in cuda_mem_get_info
return torch.cuda.mem_get_info(index)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\cuda\memory.py”, line 618, in mem_get_info
return torch.cuda.cudart().cudaMemGetInfo(device)
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
Traceback (most recent call last):
File “C:\StableDiffusion\stable-diffusion-webui\modules\call_queue.py”, line 57, in f
res = list(func(*args, **kwargs))
File “C:\StableDiffusion\stable-diffusion-webui\modules\call_queue.py”, line 37, in f
res = func(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\modules\txt2img.py”, line 56, in txt2img
processed = process_images(p)
File “C:\StableDiffusion\stable-diffusion-webui\modules\processing.py”, line 526, in process_images
res = process_images_inner(p)
File “C:\StableDiffusion\stable-diffusion-webui\modules\processing.py”, line 680, in process_images_inner
samples_ddim = p.sample(conditioning=c, unconditional_conditioning=uc, seeds=seeds, subseeds=subseeds, subseed_strength=p.subseed_strength, prompts=prompts)
File “C:\StableDiffusion\stable-diffusion-webui\modules\processing.py”, line 907, in sample
samples = self.sampler.sample(self, x, conditioning, unconditional_conditioning, image_conditioning=self.txt2img_image_conditioning(x))
File “C:\StableDiffusion\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py”, line 377, in sample
samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, x, extra_args={
File “C:\StableDiffusion\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py”, line 251, in launch_sampling
return func()
File “C:\StableDiffusion\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py”, line 377, in
samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, x, extra_args={
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\utils\_contextlib.py”, line 115, in decorate_context
return func(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\sampling.py”, line 145, in sample_euler_ancestral
denoised = model(x, sigmas[i] * s_in, **extra_args)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py”, line 141, in forward
x_out[a:b] = self.inner_model(x_in[a:b], sigma_in[a:b], cond=make_condition_dict([cond_in[a:b]], image_cond_in[a:b]))
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\external.py”, line 112, in forward
eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\external.py”, line 138, in get_eps
return self.inner_model.apply_model(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\modules\sd_hijack_utils.py”, line 17, in
setattr(resolved_obj, func_path[-1], lambda *args, **kwargs: self(*args, **kwargs))
File “C:\StableDiffusion\stable-diffusion-webui\modules\sd_hijack_utils.py”, line 28, in __call__
return self.__orig_func(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\models\diffusion\ddpm.py”, line 858, in apply_model
x_recon = self.model(x_noisy, t, **cond)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1538, in _call_impl
result = forward_call(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\models\diffusion\ddpm.py”, line 1335, in forward
out = self.diffusion_model(x, t, context=cc)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\diffusionmodules\openaimodel.py”, line 802, in forward
h = module(h, emb, context)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\diffusionmodules\openaimodel.py”, line 84, in forward
x = layer(x, context)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\attention.py”, line 334, in forward
x = block(x, context=context[i])
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1501, in _call_impl
return forward_call(*args, **kwargs)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\attention.py”, line 269, in forward
return checkpoint(self._forward, (x, context), self.parameters(), self.checkpoint)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\diffusionmodules\util.py”, line 121, in checkpoint
return CheckpointFunction.apply(func, len(inputs), *args)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\autograd\function.py”, line 506, in apply
return super().apply(*args, **kwargs) # type: ignore[misc]
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\diffusionmodules\util.py”, line 136, in forward
output_tensors = ctx.run_function(*ctx.input_tensors)
File “C:\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\attention.py”, line 272, in _forward
x = self.attn1(self.norm1(x), context=context if self.disable_self_attn else None) + x
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
Traceback (most recent call last):
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py”, line 408, in run_predict
output = await app.get_blocks().process_api(
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py”, line 1315, in process_api
result = await self.call_function(
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py”, line 1043, in call_function
prediction = await anyio.to_thread.run_sync(
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py”, line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py”, line 937, in run_sync_in_worker_thread
return await future
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py”, line 867, in run
result = context.run(func, *args)
File “C:\StableDiffusion\stable-diffusion-webui\modules\call_queue.py”, line 94, in f
mem_stats = {k: -(v//-(1024*1024)) for k, v in shared.mem_mon.stop().items()}
File “C:\StableDiffusion\stable-diffusion-webui\modules\memmon.py”, line 92, in stop
return self.read()
File “C:\StableDiffusion\stable-diffusion-webui\modules\memmon.py”, line 77, in read
free, total = self.cuda_mem_get_info()
File “C:\StableDiffusion\stable-diffusion-webui\modules\memmon.py”, line 34, in cuda_mem_get_info
return torch.cuda.mem_get_info(index)
File “C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\cuda\memory.py”, line 618, in mem_get_info
return torch.cuda.cudart().cudaMemGetInfo(device)
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
どうやらGPUとPytorchの関係で発生するエラーのように思われます。
お使いのGPUの名前を教えていただいてもよろしいでしょうか?
画像を生成する際、バッチサイズを1に設定していますでしょうか?もし2以上の場合は1で試してみてください。
あとwebuiで現在使用しているtorchのバージョンはどうなっていますでしょうか?webuiを起動してウィンドウの一番下の部分に表示されています。
https://yuuyuublog.org/wp-content/uploads/2023/04/スクリーンショット-565.png
返信ありがとうございます。
GPUはNVIDIA GeForce RTX 2070 SUPERです。
バッチサイズは1に設定しています。
torchのバージョンはtorch: 2.0.1+cu118 • xformers: 0.0.17と表示されています。
よろしくお願い致します。
ありがとうございます!正常にインストールできている模様ですね!
もう1つお伺いしたいのですが、以前「この記事」の内容でインストール作業を行ってもエラーが出てしまったんですよね?
というのも、この記事の方法でインストールするとおそらくtorchが1.13.1になるはずなんです。
該当のエラーが出た場合、torchのバージョンを下げるとエラーが出なくなったという報告もありました。
もしv1.0.0を削除していない場合は、同じくtorchのバージョンを確認したうえで、もう一度試してみていただけるとありがたいです!
ただtorchダウングレードしてもエラーが出続けるという報告もあったので、また何か見つかりましたら追記します。
その報告例ではrtx2080が使用されていたんですよね。20xxシリーズには何かあるのかもですよね…
【追記1】下のissueではrtx2070superで、同じエラー報告がされていました。やはりGPU固有の何かがあるのかも?
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/2955
【追記2】webui-user.batのcommandline_agesに–medvram –precision full –no-halfを追加すると、多少そのエラー頻度が下がるという報告がありました。これも試してみてください!
この人の場合、GPUの故障が原因だったらしいです。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/1766
はい。以前はこちらの記事の内容でインストール作業をしてエラーが出ました。
削除してしまったので、時間を見つけて再度インストールをしてみます。
あと、torchのバージョンを下げる方法はあるのでしょうか?
–medvram –precision full –no-halfは、今書いているもの後ろにつける感じですか?それとも書き換えますか?
20xxシリーズの問題だったり、故障だったらどうしようもないですね;
一度試されているので、おそらくtorchのバージョンを下げてもエラーが出る気がしますね…
torchのバージョンを下げる方法はありますが、これはこれで別のエラーが出る可能性もあるので、試す際はテスト環境としてwebuiを丸ごと別のフォルダに再インストールする方が早いと思います!
オプションをまずは試してみてください!今書いてるものの後ろにつける感じで大丈夫です。
画像を生成することができました!
set COMMANDLINE_ARGS=–autolaunch –medvram –xformers
でやっていたのを、
set COMMANDLINE_ARGS=–autolaunch –medvram –xformers –precision full –no-half
に書き換えることでうまくいきました。
たくさんアドバイスをいただき、本当にありがとうございました!
Stable Diffusion WebUIのインストールでrun.batを起動後、2時間程放置しましたが「続行するには何かキーを押してください」という表示が出ませんでした。
回線も容量的にも問題ないと思うのですが・・・
ちなみに↓で止まっています。
Model loaded in 3.2s (load weights from disk: 0.4s, create model: 0.2s, apply weights to model: 0.7s, apply half(): 0.5s, move model to device: 0.5s, load textual inversion embeddings: 0.8s).
無知ですいません
コメントありがとうございます!
現在は、この記事の1番上にも書いてある
https://yuuyuublog.org/webui_install/
の方法でwebuiをインストールします。
run.batは使わないので、ぜひこちらを試してみてください!
申し訳ありません。
見落としていました!
無事できました!ありがとうございます!