見出し画像

TensorRTで遊ぼう

無料の記事はないのか?と多数要望が来たので無料でそれっぽいことを書いてみます

TensorRTってなんだ?

一瞬X界隈でも話題になったんですが、NVIDIAさんからStableDiffusionWebUI用にTensorRTというプラグインが出たんですよ

これはSDにおける画像作成をさらに高速化できるプラグインとなっていて、簡単に言うと事前準備しておくという仕組みです。

これはHunter×Hunterの念に似てて、制約を課せば威力が上がるみたいなものとなってます。
ここで、TOP画像がクラピカなのが理解できるかと思いますが、このTensorRTはModelと解像度などに制約を課してその分速くするみたいな事をやってます。実装は知らないのですが、たぶん絶対そうでしょう。

https://nvidia.custhelp.com/app/answers/detail/a_id/5487/~/tensorrt-extension-for-stable-diffusion-web-ui

本家の説明だとxformers無しの3倍いかない程度に速くなってるみたいですね。

で、使い方ですが、WebUIのプラグインなので、とりあえずダウンロードします。

いつものプラグインダウンロード

しかし、このプラグイン、WebUIがDev Branchじゃないと使えません…

はい、この時点で一般ユーザーはDev Branchの意味がわからんので使えないですね。
これの意味するところは、あなたの環境を構築する一番最初にgit clone http://みたいな謎の呪文を書いたと思うのですが、あれを再詠唱する必要があります。

設定の仕方

1.StableDiffusionのルートフォルダに行く
2.以下のコマンドを実行

git checkout dev
git pull
こんな感じ(ダークモード嫌い派です)

3.いつも通り起動すれば起動します。
このタイミングでエラーが起きる人はあきらめて元に戻してください
戻し方は git checkout master からのgit pullで戻ります
4.設定でSettings → User Interface → Quick Settings Listにsd_unetを追加 5.再起動

Quick Settings ListにそういえばVAEも入れてたな

6.制約の儀式
まず使いたいモデル、ロラ、解像度などを決める
TensorRTのタブを開く

必要な解像度を設定。この際Hires.fixをする場合はそのbeforeとafterがカバーされるようにDynamicで設定する必要があります。

私のいつもの解像度はKindleをやっていたこともあり、512*640でHires.fixで2倍なので、width: min 512 max1024, height: min 640 max 1280でExportEngineを押す

余談ですが、この際widthとheightの位置が、通常のt2i, i2iの縦横と逆なので、イラっとしました。UIのセンスを疑います。

7.ロラの設定もそんな感じで利用するロラとモデルの組み合わせで登録する
8.SD Unetを"Automatic"にして、いざ実行!
(これをNoneにするとノーマル実行が可能)

 実行結果

確か11.78it 結構爆速だった気がする(もうやめたけど)

余談

Paperspace使ってるので月末にデータをクリーンアップする必要があったのですが、なんか制約の儀式で以下の場所にファイルを大量に作られてました。

ちなみに、GitでMasterブランチにしてもTensorRTタブは表示されたままでした。使えるか試してないです。

そういえばメモリもいっぱい食ってました


いいなと思ったら応援しよう!