![見出し画像](https://assets.st-note.com/production/uploads/images/121097182/rectangle_large_type_2_db47a25aa63a52b84be3953a2a8b033f.jpeg?width=1200)
TensorRTで遊ぼう
無料の記事はないのか?と多数要望が来たので無料でそれっぽいことを書いてみます
TensorRTってなんだ?
一瞬X界隈でも話題になったんですが、NVIDIAさんからStableDiffusionWebUI用にTensorRTというプラグインが出たんですよ
これはSDにおける画像作成をさらに高速化できるプラグインとなっていて、簡単に言うと事前準備しておくという仕組みです。
これはHunter×Hunterの念に似てて、制約を課せば威力が上がるみたいなものとなってます。
ここで、TOP画像がクラピカなのが理解できるかと思いますが、このTensorRTはModelと解像度などに制約を課してその分速くするみたいな事をやってます。実装は知らないのですが、たぶん絶対そうでしょう。
![](https://assets.st-note.com/img/1699369880386-v4ZSVBIbU4.png)
本家の説明だとxformers無しの3倍いかない程度に速くなってるみたいですね。
で、使い方ですが、WebUIのプラグインなので、とりあえずダウンロードします。
![](https://assets.st-note.com/img/1699370295253-oBksItIEn9.png?width=1200)
しかし、このプラグイン、WebUIがDev Branchじゃないと使えません…
はい、この時点で一般ユーザーはDev Branchの意味がわからんので使えないですね。
これの意味するところは、あなたの環境を構築する一番最初にgit clone http://みたいな謎の呪文を書いたと思うのですが、あれを再詠唱する必要があります。
設定の仕方
1.StableDiffusionのルートフォルダに行く
2.以下のコマンドを実行
git checkout dev
git pull
![](https://assets.st-note.com/img/1699370538130-HhWgQ3csgz.png?width=1200)
3.いつも通り起動すれば起動します。
このタイミングでエラーが起きる人はあきらめて元に戻してください
戻し方は git checkout master からのgit pullで戻ります
4.設定でSettings → User Interface → Quick Settings Listにsd_unetを追加 5.再起動
![](https://assets.st-note.com/img/1699370829679-27kyUDNuaM.png?width=1200)
6.制約の儀式
まず使いたいモデル、ロラ、解像度などを決める
TensorRTのタブを開く
![](https://assets.st-note.com/img/1699371060946-EUihndSlB4.png?width=1200)
必要な解像度を設定。この際Hires.fixをする場合はそのbeforeとafterがカバーされるようにDynamicで設定する必要があります。
私のいつもの解像度はKindleをやっていたこともあり、512*640でHires.fixで2倍なので、width: min 512 max1024, height: min 640 max 1280でExportEngineを押す
![](https://assets.st-note.com/img/1699371243528-vTE84Whe2X.png?width=1200)
余談ですが、この際widthとheightの位置が、通常のt2i, i2iの縦横と逆なので、イラっとしました。UIのセンスを疑います。
Height と Widthの位置が逆な事に、センスのなさを感じるTensorRT
— AI絵師-ひなりん (@AI_hinahina) October 19, 2023
これだから理系は…#NVIDIA #TensorRT #StableDiffusion pic.twitter.com/F0w0v3Ui1T
7.ロラの設定もそんな感じで利用するロラとモデルの組み合わせで登録する
8.SD Unetを"Automatic"にして、いざ実行!
(これをNoneにするとノーマル実行が可能)
![](https://assets.st-note.com/img/1699371330017-NOW86RWpRX.png)
実行結果
確か11.78it 結構爆速だった気がする(もうやめたけど)
うーむ TensorRTをA6000に入れてみたけど、確かに早いんだけどネットワークIOのせいなのか、この動画ほどの速度で変換はできなかった…(そりゃそうか)
— AI絵師-ひなりん (@AI_hinahina) October 19, 2023
でも11.81it/sははやいんじゃないかしらhttps://t.co/j0mLmSrkgV pic.twitter.com/Wl2OwFoyDy
余談
Paperspace使ってるので月末にデータをクリーンアップする必要があったのですが、なんか制約の儀式で以下の場所にファイルを大量に作られてました。
TensorRT, 作ったファイルは以下の場所に格納される
— AI絵師-ひなりん (@AI_hinahina) October 21, 2023
/notebooks/stable-diffusion-webui/models/Unet-onnx
/notebooks/stable-diffusion-webui/models/Unet-trt#TensorRT #Nvidia #Stablediffusion
ちなみに、GitでMasterブランチにしてもTensorRTタブは表示されたままでした。使えるか試してないです。
そういえばメモリもいっぱい食ってました
メモ:TensorRT
— AI絵師-ひなりん (@AI_hinahina) October 21, 2023
512*640でhires.fix2倍の1024*1280で大体メモリが26.2G
最低でも48Gあるから楽勝だな! pic.twitter.com/xqYWOULxu9