【解説】Stable Diffusion WebUIの「TensorRT」拡張を導入&試してみる。
◆TensorRTとは
NVIDIAが提供しているディープラーニング向けのソフトウェア開発キット
…と言われてもピンと来ませんよね!!!
推論をうまいことやってくれるものって感じです。
一応1月後半には出てました(導入がしんどかったけど)
◆TensorRTを使うメリット
爆速になります。これがでかいです。
公式の比較がこちら。
通常より2.5~3倍早いです!
爆速です。じぇっと!!
xformersくんは泣いていい
◆デメリットもあるんでしょ?
それはまぁもちろんはい。
モデル切り替えに時間がかかる
モデルごとに変換を行うためです。
拡張機能が効かなくなる場合がある。
基本使えないと思って下さい。
LoRAとか使うのがややこしい。
これも拡張と同様。
画像生成でガチャ回すだけに特化するって感じになると思います
◆導入の条件
条件も先程のサイトに載っています。
GPU : RTX系で尚且つVRAM8GB以上
RAM : 16GB
ドライバのバージョンが537.58以降
普段生成してる方ならクリアできてる方が多いかと思います。
◆導入にあたって
今後どうなるかわからないので、
『新規環境で新しくはじめる』
のをおすすめします。
(現時点で使ってる環境でやると不具合が出る可能性があるため)
今回は1からWebUIを構築します。
◆WebUIの構築
多分この記事読んでる方は「んなもんできるべ」って方が多いと思います。
とりあえず書いておきますね🙏
python -m venv venv
venv\Scripts\activate.bat
とりあえず仮想環境
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
WebUIをクローン。
できたらモデルをぶち込んでコマンドラインを変えて起動!!
おしまい!
わからない方は本に全部書いてあるのでよろしければどうぞ(宣伝)
◆「TensorRT」拡張の導入
WebUIを起動し、拡張のタブを開きます。
上記のGitHubページにアクセスし、画像の通りコピペします。
インストール後、WebUIを再起動します。
しないと反映されないどころかバグります。多分。
再起動後、このようなタブが出たら導入成功です。
cuDNNを導入してない場合は「そんなもんないぞ」って怒られます。
しておきましょう。
再起動時にエントリーポイントのエラーが出ますがバグらしいです。
とりあえず動くので多分大丈夫…なはず。
■cuDNN導入
上記サイトにアクセス後、会員登録をします。
その後、「Download cuDNN Library」をクリックしダウンロードします。
基本的には「for CUDA 11.x」の方で大丈夫です。
その後、CUDAが入っているファイルにある「cudnn」フォルダに中身をコピペします。
ない場合は作って下さい。
その後環境変数を設定しPathが設定されているか確認して下さい。
◆モデルの変換
ここからはモデルの変換をしていきます。
生成画像やモデルによりモデルを変換しないとだめらしい(?)
TensorRTタブを開き、とりあえずdefaultで『Export Engine』をクリック。
しばらく時間がかかりますが、successfulとでたら変換完了です。
下の🔄ボタンを押すと適用されます。
◆画像生成
いざ生成です。
とはいっても通常通り生成するだけです。
1.2秒です。早いですね。
比較として通常の生成でやってみます。
1.7秒。正直誤差だろ?と言われそうですが、ワンテンポ早いです。
結構目に見えて差が出ますね。
お次は512x768。
はやい!!0.6秒ぐらい差が出ています。
1ランクグラボの性能が上がった感じです。(体感)
変換次第で1024x1024とかもできるので使えそうですね~
◆まとめ
生成特化だが爆速
モデル変換に時間が掛かるが使い勝手は変わらず。
目に見えて早くなるのでなんか嬉しい!
でもあんま使わん
以上!!!
おわります。