ログインする ユーザー登録する
GW投稿企画「#ちちぷいトラベル」開催中! ▶

CuDNN

使用したAI Stable Diffusion
以前書いたように、久々アップデートかかったMulti-Diffusionは、メモリ回りが改善されてんじゃね ?

て思ってたけど、別な原因だったわ、速くなった...つかVRAM消費が減ったのは

今日突然遅くなったんだよ、Tile処理がよう

何度か書いたけど、

この2作品の更新作業のメインは、「顔部分に対して、8kサイズから切り出してControlnetでTile処理をかける」てことで
https://www.dmm.co.jp/dc/doujin/-/detail/=/cid=d_274193/?dmmref=DetailOtherWorks&i3_ref=recommend&i3_ord=1

https://www.dmm.co.jp/dc/doujin/-/detail/=/cid=d_281046/?dmmref=DetailOtherWorks&i3_ref=recommend&i3_ord=1

以前フルサイズに対してこれをやったら、1枚当たり6時間とかになっちまって、心折れかけてよ

顔だけ切り出して処理したら、RTX4070の専用VRAM12GBに収まんじゃね ? て思った訳だ

...ところが、其れでも結構ギリだったんだ、12GBに対して

ところが、Muliti-Diffusionが久々更新かかったと思ったら、これが急激にVRAM消費が減って、ほぼ全工程12GBに収まるようになり、作業が高速化して、無事上作品の更新作業もサクサク進んだんだけど

今日急に遅くなってよ

VRAM見たらTile処理のとこで12GB超えちまってんだよ

何でだよと考えたけど

今日Pytorchを更新はしたんだよ、2.2.1+Cu121から2.2.2+Cu121にな

考えられる原因それしかねえからよ

元に戻してみたんだが直んねえんだよ、これがよう

...色々可能性を考えて...結局解決したよ

原因は、Torch内に含まれるCuDNNライブラリーだ

これを8シリーズ最新の8.9.7に手動で置き換えたら直った。勿論Pytorchは2.2.2に更新した上でな
(最新は9.0.0だけどな、ファイルの互換性がねえんだよ、現行Pytorchに対して)

理屈考えてみりゃよ、そりゃそうだよな

Pytorchを更新したってことはよう、内包してるCuDNNのdllも上書きされちまったて事なんだよ

そこ見落としてたわ

つかよ、問題はPytorchのライブラリー構成だろ

何で、最新のライブラリーに入ってるCuDNNが古いんだよ

で、考えてみるとよ、つまり速くなった原因はCuDNNであって、Multi-Diffusionそのものは関係ねえじゃんて事だよな

それを混同して錯覚してたのは、多分同時にSDの再インストールかなんかしてたんだな、俺が。

SD再インストールやるなら、俺は必ずCuDNN手動置き換えはすっからよ

で、今回の教訓

Pytorch更新したら、忘れずにCuDNN置き換えもやるっつーことだな

本来、こいつあPytorch側でやっとくべきことだろうがよう

何で手動でやんなきゃなんねえんだよ

あと、これVRAM12GBのRTX4070だから、遅くなった時分かり易いんだな。元々ギリで動いてっからよう

16GB VRAM以上ある奴だと、多分CuDNN変えなくても収まっちまうから、体感ではわかんねえかもしんねえな

モニター見りゃわかんだけどな

...

あー...あとな、一応、TensorRT前提での俺のA1111手順書いとくぜ

いきなり、uesr.batはダメなやつなんだよ、後の色々考えるとな

だからまず自分でvenvな

python -m venv venv

pip install xformers 何で最初にこいつか ? Pythorchの仕組み解ってる人にはわかる理屈よ

python -m pip install --upgrade pip こいつは頭でやっとかねえとな

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
audioはいらねんだけどな。あと当然バージョン代わればアドレスも変わるぜ

pip install https://github.com/bdashore3/flash-attention.gitにあるPython Verごとの最新whl
Falsh Attention。こいつは効いてんのか効いてねえのかわかんねんだけどな...i2iでは効く説あり

python -m pip install nvidia-cudnn-cu11==9.0.0.312 --no-cache-dir
こいつもバージョンは随時変わるが、変えなくても支障はねえ

python -m pip install --pre --extra-index-url https://pypi.nvidia.com/ tensorrt==9.3.0.post12.dev1 --no-cache-dir
こいつは最新がいい。初期よりTensorRTそのものが速くなってる

python -m pip uninstall -y nvidia-cudnn-cu11
なぜか、ここで消す案件。公式説明がそうなってっからな

python.exe -m pip install importlib_metadata onnx polygraphy
これな、最初は自動で入ったんだけどな

pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
これも随時アドレス変わる奴

ここまでやって初めてuser.batな。でねえとTensorRTが使えねえ

初期起動の後、更新しとくのは

Pip install -U accelerate ただし、これver.txtの書き換えも必要なやつな

pip install lama-cleaner こいつは拡張機能わざわざ入れるより、自分で入れた方がいいやつ。A1111のデフォがcpuモードなんだよ。いちいちdevice=cudaとかめんどいから、自分でバッチファイル作った方がいい

その記述は是だけでいい
@echo off
call venv\Scripts\activate
echo http://localhost:7870/
lama-cleaner --model=lama --port=7870 --device=cuda
popd

pip install -U pillow こいつは絶対に、lama-cleanerの後な。何故かは順序逆にしてみりゃいやでもわかる。あとこいつも要ver.txt書き換え

pip install -U transformers==4.30.2
こいつは今んとこA1111は固定だな、でなんで入れなおすかつったら、Lama-Cleanerのせいなんだよ。勝手に4.27に戻すんじゃねえよこの野郎....Forgeは最新入れても支障出ねえんだが、A1111は公式指定verじゃねえとダメなんだよ

pip install -U diffusers こいつはなぜか初期で入ってるのがやたら古い。Lama-Cleanerの為に更新しとく

pip install realesrgan こいつもLama-Cleaner用

pip install rembg こいつもLama-Cleaner用。ただこいつを後で拡張機能で入れる前提なら、ここでpipはいらねえよ

こんなとこか

勿論、この他にCuDNNのdllファイルの置き換えは手動でやんだぜ ?

呪文

入力なし

Freedom Samuraiさんの他の作品

Freedom Samu…さんの他の作品

すべてを見る

おすすめ

ユーザー主催投稿企画(PR)

Amazon

トレンド

すべてを見る

ユーザー主催投稿企画

すべてを見る

新着イラスト

すべてを見る

ちちぷいグッズ

ショップを見る