以前書いたように、久々アップデートかかった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=1https://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/cu121audioはいらねんだけどな。あと当然バージョン代わればアドレスも変わるぜ
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ファイルの置き換えは手動でやんだぜ ?